zoukankan      html  css  js  c++  java
  • mysql

    1. or:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)
      1. 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引
    2. 联合索引,不是使用的第一部分,则不会使用索引(未满足最左前缀原则
    3. 模糊查询:like查询是以%开头
      1. 模糊查询不以 % 开头,会使用索引
      2. 针对以 % 开头索引失效的问题,解决方案:使用覆盖索引
    4. 字符串:如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引;
    5. 运算操作:在索引列上做任何操作(计算,函数,(自动或者手动)类型装换),会导致索引失效而导致全表扫描
    6. 范围条件:存储引擎不能使用索引中范围条件右边的列,范围之后索引失效。(< ,> between and)
    7. 不等于:mysql使用不等于(!= 或者<>)的时候,无法使用索引,会导致索引失效
    8. 是否为空:mysql中使用is not null 或者 is null会导致无法使用索引
    9. 全表扫描更优:如果mysql估计使用全表扫描要比使用索引快,则不使用索引
  • 相关阅读:
    51nod1376 最长递增子序列的数量
    51nod1201 整数划分
    51nod1202 子序列个数
    51nod 博弈论水题
    51nod1052 最大M子段和
    51nod1678 lyk与gcd
    51nod1262 扔球
    BZOJ2763, 最短路
    吃西瓜 最大子矩阵 三维的。 rqnoj93
    noip2015 信息传递 强连通块
  • 原文地址:https://www.cnblogs.com/gengyufei/p/14295537.html
Copyright © 2011-2022 走看看