索引失效案例

  1. 全值匹配
  2. 最佳左前缀:如果索引了多列,要遵守最佳左前缀原则,指的是查询从索引的最左前列开始并且不跳过索引的列。过滤条件要使用索引,必须按照索引建立时的顺序,依次满足,一旦跳过某个字段,索引后面的字段都无法被使用
  3. 计算、函数导致索引失效(不在索引上做任何操作),会导致索引失效二转向全表扫描
  4. 索引中范围条件右边的列失效
  5. 不等于(!= 或者<>)索引失效 导致全表扫描
  6. is not null 无法使用索引,is null 可以使用索引
  7. like 以通配符%开头索引失效
  8. 数据转换导致索引失效
  • 对于单键索引,尽量选择过滤性更好的索引
  • 在选择组合索引得时候,过滤性更好的字段在索引字段顺序中,越靠前越好
  • 选择索引得时候,尽量包含where 中更多字段的索引
  • 组合索引出现查询范围时,尽量把这个字段放在索引次序的最后面
  • 尽量避免造成索引失效的问题

 

你可能感兴趣的:(java,索引,sql)