mysql如何检查索引失效(mysql索引失效的几种情况分析)
mysql如何检查索引失效
mysql索引失效的几种情况分析1、最佳左前缀原则——如果索引了多列,要遵守最左前缀原则。指的是查询要从索引的最左前列开始并且不跳过索引中的列。
前提条件:表中已添加复合索引(username,password,age)
分析:该查询缺少username,查询条件复合索引最左侧username缺少,违反了最佳左前缀原则,导致索引失效,变为all,全表扫描
分析:查询条件缺少username,password,查询条件复合索引最左侧username,password缺少,违反了最佳左前缀原则,导致索引失效,变为all,全表扫描
分析:该查询只有一个username条件,根据最佳左前缀原则索引能够被使用到,但是是部分使用
2、不在索引列上做任何操作(计算,函数,(自动或者手动)类型装换),会导致索引失效而导致全表扫描
分析:第一个图索引列不使用函数,遵循左前缀原则,能够使用索引。第二张图索引列上使用了函数,即使遵循左前缀原则,索引还是失效
3、存储引擎不能使用索引中范围条件右边的列,范围之后索引失效。(< ,> between and)
分析:图一索引全部使用到。图二索引使用到username和age,但是username是使用索引检索,而age着重索引排序,这时age为范围查找,password索引将失效
4、mysql使用不等于(!= 或者<>)的时候,无法使用索引,会导致索引失效
5、mysql中使用is not null 或者 is null会导致无法使用索引
分析:对username列做了普通索引,查询带is not null,结果索引不生效
6、mysql中like查询是以%开头,索引会失效变成全表扫描,覆盖索引。
分析:对username列做了普通索引,以%开头进行查询,结果索引失效被覆盖
7、mysql中,字符串不加单引号索引会失效。正确写法:select * from t_user where username = 'lujin';
8、mysql中,如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)。要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引
9、如果mysql使用全表扫描要比使用索引快,则不会使用到索引
总结
到此这篇关于mysql索引失效情况分析的文章就介绍到这了,更多相关mysql索引失效内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/qq_34258346/article/details/80272198
- mysql高级变量查询(MySQL 使用自定义变量进行查询优化)
- 搭建php和mysql的运行环境(Windows环境开发PHP完整配置教程Apache+Mysql+PHP)
- mysql数据库导入错误怎么处理(MySQL数据库导入导出数据之报错解答实例讲解)
- mysql存储引擎的创建与修改(关于MySQL Memory存储引擎的相关知识)
- MySQL中对varchar类型的排序
- mysqldecimal类型转换(mysql中decimal数据类型小数位填充问题详解)
- 修改mysql默认超时(MySQL sql_mode修改不生效的原因及解决)
- mysql查看视图注释(详解MySQL的sql_mode查询与设置)
- mysql字符串默认长度(MySQL 字符类型大小写敏感)
- mysqlgroupby语句实现原理(Mysql中错误使用SQL语句Groupby被兼容的情况)
- navicat中如何使用sql语句(Navicat Premium操作MySQL数据库执行sql语句)
- mysqlmha架构图(MySQL之MHA高可用配置及故障切换实现详细部署步骤)
- mysql判断表中字段是否存在(mysql插入前判断数据是否存在的操作)
- mysql慢日志查询作用(MySQL 慢查询日志的开启与配置)
- binlog怎么恢复mysql数据库(mysql5.7使用binlog 恢复数据的方法)
- mysql怎么解决幻读问题(详解MySQL幻读及如何消除)
- 三杨 共辅四朝帝王,构建明帝国内阁行政圈(三杨共辅四朝帝王)
- 红色文化进国企(红色文化进国企)
- 车友的选择| 轮毂该如何选(车友的选择轮毂该如何选)
- 秦海璐炫耀和王新军热恋蜜事,不料对方吐槽她吃饱后肚子撅老高(秦海璐炫耀和王新军热恋蜜事)
- 秦海璐一袭旗袍惹人倾心,将高级与淡雅展现的游刃有余(秦海璐一袭旗袍惹人倾心)
- 门外之见 海蛎子味 的表演,能走多远(门外之见海蛎子味)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9