索引失效的情况

    1. 使用or,两边存在没有建索引的列
    1. 组合索引,不满足最左匹配原则
    1. 使用like,%在前面
    1. 使用索引后,扫描行占全表的30%
    1. 类型转换问题,如果数据库中使用的是字符串,在查询时要用单引号括起来
    1. 索引列使用了函数或其他操作
    1. order by 、group by 含有非索引列
    1. 使用了!= <>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天遇到了数据库查询语句的优化,遇到了索引失效的激烈讨论。 所以今天总结一下索引失效的一些情况 1.隐式转换导致索...
    程序小小鸡阅读 2,188评论 0 0
  • 1、 最好全值匹配——索引怎么建我怎么用。 分析三次查询均使用到索引。 2、 最佳左前缀法则——如果索引了多列,要...
    KingdomCoder阅读 18,541评论 3 9
  • 1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原则。指的是查询要从索引的最左前列开始并且不跳过索引中的列。 ...
    轮子呵呵阅读 198评论 0 0
  • 背景:最近生产爆出一条慢sql,原因是用了or和!=,导致索引失效。于是,总结了索引失效的十大杂症 一、查询条件包...
    没事遛弯阅读 686评论 0 1
  • 索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使...
    Daniel521阅读 5,196评论 0 0