一、索引失效 当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效 使用order by对数据库进行查询时,导致索引失效 ,order by走全表扫描比回表的时间更少 主键和唯一索引在同一列时,会导致索引
当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效
使用order by对数据库进行查询时,导致索引失效 ,order by走全表扫描比回表的时间更少
主键和唯一索引在同一列时,会导致索引失效
在where条件列使用函数或者是表达式,导致不能命中索引,引发失效
%开头的模糊查询,导致不能命中索引,引发失效
在索引列上使用 IS NULL 或 IS NOT NULL操作。
在索引字段上使用not,<>,!=
不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。 优化方法: key<>0 改为 key>0 or key<0。
组合索引,不是使用第一列索引,索引失效。必须满足最左前缀原则,一次从最左开始匹配。
9、一些sql语句会破坏索引:某些查询的时候没有办法使用索引 比如下面的例子 ,因为没有办法使用数据结构 ,索引一般是hash或者btree结构,比如我们一般用某种数据结构二分法查询一个值,可以查到。但是我们查询一个结果,用二分法要求查询不属于某些值的,就没有办法使用数据结构,就使用不了索引。所以核心就是判断一个sql语句能不能通过数据结构来查询出结果,能查询出来就是能够使用索引,不能查询出来就是不能使用索引
来源地址:https://blog.csdn.net/weixin_47796247/article/details/128278786
--结束END--
本文标题: mysql索引失效
本文链接: https://www.lsjlt.com/news/397216.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0