1.like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。

2.数据库表数据量过小

如果表的数据量非常小,则MySQL可能不会使用索引,因为它认为全表扫描的代价更小。

3.or语句前后没有同时使用索引

当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效

4.索引列上进行了类型转换

如果在索引列上执行类型转换,MySQL将无法使用索引来加速查询。

5.索引列用了函数

例如:  select * from user  where SUBSTR(height,1,2)=17;

6.列对比

例如: select * from user where id=height

如果把两个单独建了索引的列,用来做列对比时索引会失效。

7.数据分布不均匀

如果表中某些值的出现频率非常高,那么MySQL可能会认为使用全表扫描代价更小,而不使用索引。

8.索引列的长度过长

如果索引列的长度过长,MySQL将会使用更多的内存来存储索引,可能会影响性能。

9.索引列上存在重复值

如果索引列上存在重复值,MySQL将无法使用索引来加速查询。

10.在索引字段上使用not,<>,!=

不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。

MySQL索引失效的场景相关推荐

  1. Java社招面经分享!mysql索引失效的场景

    正文 我的第一份工作是在一家外企,当时抱着"逃离"上海的想法去了二线城市的分公司,但是管理文化氛围跟总部几乎都是一样的,这份工作经历对我后面的工作不论是做事风格.习惯上还是思考问题 ...

  2. MySQL 索引失效的 15 种场景!

    背景 无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库不走索引的坑.常见的现象就是:明明在字段上添加了索引,但却并未生效. 前些天就遇到一个稍微特殊的场景,同一条SQL语句,在某些参 ...

  3. 15个必知的Mysql索引失效场景,别再踩坑了

    背景 无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库不走索引的坑.常见的现象就是:明明在字段上添加了索引,但却并未生效. 前些天就遇到一个稍微特殊的场景,同一条SQL语句,在某些参 ...

  4. Mysql索引失效场景集合

    我们经常会遇到两种情况: 明明在某个字段上加了索引,但实际上并没有生效. 索引有时候生效了,有时候没有生效. 索引失效的场景汇总如下: 使用select * 索引列上有计算操作 索引列上有函数操作 字 ...

  5. MySQL 索引失效详解

    MySQL 索引失效详解 一.MySQL索引失效原因汇总 隐式的类型转换,索引失效 查询条件包含or,可能导致索引失效 like通配符可能导致索引失效 查询条件不满足联合索引的最左匹配原则 在索引列上 ...

  6. MySQL - 索引失效的情况有哪些?[汇总篇] - 以及合理使用建议

    1.应用场景 主要学习掌握MySQL索引的使用场景以及使用条件限制. 帮助我们高效使用索引进行开发,开发高性能高可用程序. 2.学习/操作 1. 文档 MySQL 索引 - 学习/实践_william ...

  7. mysql 索引失效分析

    大神总结的索引失效一句话理解后就不用看我下面的文章了,这就是 "模型数空运最快" 模:模糊查询like  %在前面索引失效 型:数据类型有变化索引失效 数:索引列使用了函数索引失效 ...

  8. 什么情况会导致 MySQL 索引失效?

    为了验证 MySQL 中哪些情况下会导致索引失效,我们可以借助 explain 执行计划来分析索引失效的具体场景. explain 使用如下,只需要在查询的 SQL 前面添加上 explain 关键字 ...

  9. like左匹配索引失效_导致MySQL索引失效的一些常见写法总结

    前言 最近一直忙着处理原来老项目遗留的一些SQL优化问题,由于当初表的设计以及字段设计的问题,随着业务的增长,出现了大量的慢SQL,导致MySQL的CPU资源飙升,基于此,给大家简单分享下这些比较使用 ...

最新文章

  1. 直击2019WAIC丨李德毅:人工智能是脱离意识的工具,需要约束的是人类自己
  2. Hadoop HDFS copyMergeFromLocal
  3. 1.10 System类详解
  4. 【Android】系统目录理解
  5. 云原生数据库POLARDB专场“硬核”解析
  6. 设置导航栏的相关属性
  7. 暑假周进度总结报告3
  8. 插件占坑,四大组件动态注册前奏(一) 系统Activity的启动流程
  9. VPC、快照、重置密码、重启、关机、扩容
  10. CentOS更改语言两种方式
  11. Log4j2漏洞发展历程及解决方案
  12. java计算时间的秒数差,去掉周末和节假日
  13. 【hdu】6441 Find Integer - 费马大定理
  14. CS224N 2019年课程第一次作业复现
  15. html2canvas微信头像没绘制,解决使用canvas生成含有微信头像的邀请海
  16. 【论文阅读|深读】 GraphSAGE:Inductive Representation Learning on Large Graphs
  17. 皮尔森相关性系数的计算python代码(三)
  18. 软件和教堂非常相似——完工之后我们就开始祈祷
  19. smbus协议的command_SMBus读取从设备数据总结
  20. 命名空间中不存在类型或命名空间名称。是否缺少程序集引用?

热门文章

  1. PHP_MySql数据库(11)
  2. C陷阱与缺陷学习总结
  3. 支付宝支付--alipay.data.dataservice.bill.downloadurl.query(查询对账单下载地址)
  4. 感叹无奈人生,学会欣赏人生
  5. 济南计算机等级考试报名时间,考生注意!山东全国计算机等级考试报名时间来了!...
  6. Linux拓展之Shell中函数的返回值
  7. 网站标题被修改的解决办法
  8. 基于STM32+ESP8266的奥运会奖牌榜设计之经典
  9. 使用curl工具调试https接口
  10. JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)