美文网首页
MySQL 索引失效总结

MySQL 索引失效总结

作者: 愤怒的哪吒 | 来源:发表于2019-10-15 15:30 被阅读0次

1、全值匹配我最爱,最左前缀要遵守

         条件与索引一一对应

2、带头大哥不能死,中间兄弟不能断

            组合索引

            如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且不跳过索引中的 列。 正确的示例参考上图。

3、索引列上少计算,范围之后全失效

      不要进行这些操作:计算、函数、自动/手动类型转换,不然会导致索引失效而转向全表扫描

     不能继续使用索引中范围条件(bettween、<、>、in等)右边的列   

4、LIKE符号写最右,覆盖索引不写星

       尽量使用覆盖索引(只查询索引的列),也就是索引列和查询列一致,减少select *  ;

       索引字段使用like以通配符开头(‘%字符串’)时,会导致索引失效而转向全表扫描 ;

       由结果可知,like以通配符结束相当于范围查找,索引不会失效。与范围条件(bettween、<、>、in等)不同的是:不会导致右边的索引失效。   

5、不等空值还有or,索引失效要少用

       索引字段上使用(!= 或者 < >)判断时,会导致索引失效而转向全表扫描 注:主键索引会使用范围索引,辅助索引会失效

       主键字段上不可以使用 null;

       索引字段上使用 is null 判断时,可使用索引;

       主键非空 不使用索引;

       索引字段使用 or 时,会导致索引失效而转向全表扫描  

6、var引号不能丢,SQL高级也不难

      索引字段是字符串,但查询时不加单引号,会导致索引失效而转向全表扫描  ;

7、分组之前必排序,一定要上索引啊

常用案例

----来自kkb笔记

相关文章

  • MySQL索引失效总结

    本文通过不同索引,不同场景下,展示了导致索引失效的SQL,帮助大家以后更有效的使用索引查询。 一、准备工作 创建一...

  • MySQL 索引失效总结

    1、全值匹配我最爱,最左前缀要遵守 条件与索引一一对应 2、带头大哥不能死,中间兄弟不能断 组合索引 ...

  • Mysql索引失效

    mysql 索引失效的原因有哪些?Mysql索引失效的原因 1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原...

  • 面试总结

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

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • Mysql 索引失效

    1.索引无法存储null值 a.单列索引无法储null值,复合索引无法储全为null的值。b.查询时,采用is n...

  • MySQL索引失效

    哪些情况需要创建索引 主键自动建立唯一索引频繁作为查询条件的字段应该创建索引多表关联查询中,关联字段应该创建索引 ...

  • MySQL索引失效

    1、举例 5 种常见的索引失效当前使用的 MySQL 版本是 5.7.29,先创建 1 张表 (1)被索引字段发生...

  • mysql索引失效

    高并发会产生的情况 1、数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成...

  • MySQL 面试系列: `order by` 语法详解

    其它MySQL 面试系列: MySQL 面试系列:为什么MySQL字符串不加引号索引失效?[https://www...

网友评论

      本文标题:MySQL 索引失效总结

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