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删除用户 bug的问题)
- mysql中使用show table status 查看表信息
- oraclemysql知识点(详解Mysql和Oracle之间的误区)
- mysql几种连接方式(简单谈谈mysql左连接内连接)
- mysql主从复制配置(Mysql实现主从配置和多主多从配置)
- mysql流式查询(MySQL全面瓦解之查询的正则匹配详解)
- mysql设置updatetime自动更新(mysql 实现添加时间自动添加更新时间自动更新操作)
- 将SQL Server数据迁移到MySQL的常见工具
- idea关联mysql数据库(IDEA无法连接mysql数据库的6种解决方法大全)
- mysql的日志怎么清除(MySQL删除了记录不生效的原因排查)
- mysql为什么用decimal类型(MySQL decimal unsigned更新负数转化为0)
- mysql查询慢有哪些原因(MySQL 查询速度慢的原因)
- mysql简单查询基本语句(详解MySQL 查询语句的执行过程)
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- mysql 死锁查询(MySQL slave 延迟一列 外键检查和自增加锁)
- mysqldump 命令详解(mysqldump你可能不知道的参数)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
- 它荣获 中国生态魅力镇 称号 就在咱们禹州,一起来看看(中国生态魅力镇)
- 真牛 禹州将建成中等城市(禹州将建成中等城市)
- 被骂欺师灭祖,与郭德纲公开叫板,何云伟改名何沄伟,开始画画了(与郭德纲公开叫板)
- 相声转行影帝,被何晴抛弃,甩10年女友闪婚生子,刘威不靠谱情史(相声转行影帝被何晴抛弃)
热门推荐
- php缓存技术学习(简单实用的PHP文本缓存类实例)
- cubeide调试问题(如何使用宝塔安装ionCube扩展)
- php怎么弄不重复字符串(PHP中将一个字符串部分字符用星号*替代隐藏的实现代码)
- wampserver安装报错(安装wampserver提示丢失MSVCR100.dll的解决方法)
- php消息队列redis(redis+php实现微博二发布与关注功能详解)
- vuejs过滤器使用教程(vue3删除过滤器的原因)
- canvas绘制动态线条(5分钟实现Canvas鼠标跟随动画背景)
- pyqt5加载chrome浏览器(PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例)
- dedecms标签调用大全(Dedecms文章标题长度修改方法小结)
- phpstudy8.0使用教程视频(phpstudy v8.1 Apache伪静态配置图文教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9