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的jdbc(JDBC连接的六步实例代码与mysql连接)
- mysql怎么删除用户操作(解决mysql删除用户 bug的问题)
- mysql事务特性和隔离级别(Mysql事务特性和级别原理解析)
- mysql中自增字段类型(MySQL数字类型自增的坑)
- 终于有人将mysql 索引讲清楚了(MySQL 索引的一些细节分享)
- mysql服务器端安装步骤(windows下jsp+mysql网站环境配置方法)
- centos安装mysql8.0教程(Centos7 安装 Mysql8教程)
- mysql sql优化方法(MySQL SQL优化教程之in和range查询)
- mysql的null值跟空值(你知道mysql中空值和null值的区别吗)
- mysql8.0.21的安装步骤(mysql8.0.23 msi安装超详细教程)
- mysql exists的用法(Mysql exists用法小结)
- 阿里云ecs服务器数据在哪儿(阿里云ECS云服务器linux系统安装mysql后远程连接不了踩坑)
- MySQL自定义函数
- mysql事件教程(关于MySQL报警的一次分析处理详解)
- 查看mysql支持的字符集(不可忽视的MySQL字符集)
- windows下mysql密码重置(Windows10系统下Mysql8.0.13忘记root密码的操作方法)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
热门推荐
- python线程池怎么设置(python自定义线程池控制线程数量的示例)
- php上传图片视频代码(详解PHP素材图片上传、下载功能)
- C#中ToDictionary,ToLookup
- sqlserver存储过程怎么写日志(SqlServer快速检索某个字段在哪些存储过程中sql 语句)
- 阿里云跟腾讯云的对比(阿里云、腾讯云的恩怨情仇)
- kubernetes 虚拟机安装(VirtualBox+Ubuntu16搭建Kubernetes集群的实现)
- sqlserver非唯一索引汇总性能(详解SQL Server的聚焦过滤索引)
- javascript组件库实现(JavaScript分页组件使用方法详解)
- python eval函数原理(浅谈Python中eval的强大与危害)
- redux实例教程(详解JavaScript状态容器Redux)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9