ZBLOG

mysql 索引失效的场景有哪些

  1. 数据量过小:如果数据表的记录数非常少,比如只有10行,则不使用索引也能很快地找到需要的数据,此时索引就没有必要了。

  2. 模糊查询:如果查询条件中包含模糊查询(LIKE ‘%abc%‘)或者通配符(LIKE ‘abc_’),则MySQL无法使用索引进行查询,因为它需要扫描整张表来找到匹配的记录。

  3. 函数操作:如果在查询条件中使用了函数操作,比如DATE_FORMAT、TRIM等,MySQL也无法使用索引,因为它需要对所有记录进行函数操作,这是非常耗费资源的。

  4. OR查询:如果查询语句中使用了OR连接多个条件,则MySQL无法使用索引进行优化,因为每个条件都需要扫描全表,然后将结果合并。

  5. 数据类型不匹配:如果索引列和查询条件的数据类型不匹配,MySQL也无法使用索引进行查询。比如查询条件是字符串类型,而索引列是整型,或者反过来。

  6. NULL值判断:如果查询条件中包含NULL值判断,则会使索引失效。因为NULL值无法使用等于号进行匹配,MySQL只能扫描全表来查找匹配的记录。

  7. 多表关联查询:如果在多表关联查询中,其中一个表上的索引失效,那么整个查询的性能都会受到影响,因为MySQL需要扫描所有表来查找匹配的记录。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=480

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?