美文网首页MySQL相关
索引失效的情况

索引失效的情况

作者: 柳蒿 | 来源:发表于2019-10-18 08:13 被阅读0次

导致索引失效的案例
  1.建什么索引用什么索引,顺序也最好保持一致
  2.最佳左前缀索引名称命名(如字段name,age,city,则索引命名应该是nameAgeCity或者xxx_nameAgeCity,顺序很重要)
  3.不在索引列上做任何操作(计算,函数,or,类型转换),会导致索引失效而转向全表扫描
  4.存储引擎不能使用索引中范围条件右边的列(如name='lin' and age>25 and city='qingdao',则age后面的索引会实效)
  5.尽量使用覆盖索引(只访问索引的查询(索引列和要查询的列一致)),减少select *
  6.MySQL在使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描
  7.is null,is not null 也无法使用索引
  8.like以通配符在这('%abc','%abc%')两种情况会索引实效变成全表扫描,'abc%'则不会,若要'%abc','%abc%'不失效,建议使用覆盖索引,且查询的字段要少于索引或者与索引一致,不使用select *。如为name,age,city建了索引,请这么使用:select name或者select age,或者select city或者select name,age,city。如果select name,age,city,email则会全表扫描
  9.字符串不加引号索引失效,
  10.少用or,用他来连接时索引会失效
  11.select * from A where exists (select 1 from where b.id=A.id)#当A表的数据系小于B表时,用exists优于in
  12.使用join代替子查询

相关文章

  • 索引失效情况

    在数据库表中,使用索引可以提高查询速度。但是索引并不是对所有的查询操作都会生效的。比如以下几种情况,将导致索引失效...

  • 索引失效的情况

    导致索引失效的案例1.建什么索引用什么索引,顺序也最好保持一致2.最佳左前缀索引名称命名(如字段name,age,...

  • 索引失效的情况

    1、组合索引不遵循最左匹配原则 2、组合索引前面索引列使用范围查询(<,>,like),会导致后续的索引失效 3、...

  • MySQL索引失效的情况

    查询的列中的值存在nullnull无法参与到索引建立的树中 列中的值较少(重复数据较多) 前导模糊搜索由于前面是模...

  • MySQL索引失效的情况

    Mysql索引查询失效的情况 首先,复习一下索引的创建: 普通的索引的创建: CREATE INDEX (自定义...

  • 面试总结

    mysql 索引的类型、索引的底层结构、索引失效的情况聚簇索引和非聚簇索引mysql的隔离级别, innerdb默...

  • 11 索引优化

    创建表 索引失效的情况 如果索引多列,查询时最左边的列不能缺失

  • Mysql索引查询失效的情况

    MySQL索引失效的几种情况 1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。 2、...

  • Mysql常见索引失效情况

    1.被索引字段发生隐式转换 Mysql执行器在执行sql查询的时候,会自动将与原字段类型不匹配的值进行类型转换 我...

  • MySQL索引失效的几种情况

    MySQL索引失效的几种情况 1.索引无法存储null值 a.单列索引无法储null值,复合索引无法储全为null...

网友评论

    本文标题:索引失效的情况

    本文链接:https://www.haomeiwen.com/subject/yawmmctx.html