zoukankan      html  css  js  c++  java
  • 一场由like引发的事故

    故事背景:

      有一张用户级表,数据量在千万级别,而运营人员要查看这张表,其中有一项查询条件为根据“错误类型”(单值)查出所有包含这个类型的数据,而这个数据类型在数据库存放的方式类似于 “1,2,3,4,5,6,8,9,10,7,11,12”  无序。于是有了如下sql。

    1 select count(mistake_type)
    2     from mitake_table 
    3     where (r.mistake_type = '1' 
    4               OR r.mistake_type LIKE '%,1' 
    5               OR r.mistake_type LIKE '1,%' 
    6               OR r.mistake_type LIKE '%,1,%')        
    like案例

     like剖析:

      基于上述案例,查证度娘,关于like有如下说法:

        前提,查询字段建立索引

    1.     字段 like ‘%关键字%’  不走索引,速度最慢
    2.     字段 like ‘关键字%’     使用字段进行升序索引
    3.     字段 like ‘%关键字’     使用字段进行降序索引

     那么问题来了,针对这起事故,你有什么好的解决办法呢????????

    架构交流群:957575865 java求职招聘群:676573778
  • 相关阅读:
    JavaScript 常见面试题
    textarea 元素的 placeholder 属性不显示
    CSS 画一个八卦
    CSS 画一个心
    JS判断客户端是否是iOS或者Android端
    前端面试题(一)
    选中文字改变默认颜色
    红包雨的实现
    template 的使用
    函数和入参
  • 原文地址:https://www.cnblogs.com/java333/p/10721888.html
Copyright © 2011-2022 走看看