最近遇见一个问题,有个sql语句,建立了索引,却不生效
文章图片
再看一下这个表的索引情况
文章图片
明明有索引的,却失效了,为何?百思不得其解啊。。。。
那换个思路试试?
文章图片
看见没,缩小范围,索引就生效了
那么我们来分析一下
全表数据
文章图片
按月查询数据
文章图片
按周查询数据
文章图片
总数据大概60万条,3月份的数据大概20万,占比三分之一,如果是按周,则大概是4万条,占比百分之六
所以当查询3月份的数据时候,mysql认为数据检索量已经超过某个阈值,就会自动进行全表扫描,所以索引失效。
具体这个值是多少,目前我还不清楚,如果知道的大牛麻烦告知我一下。
解决方案:
【数据库操作|mysql范围查找索引失效问题】修改范围条件,缩小范围,尽可能减少触发全表扫描。
推荐阅读
- Mysql|Skr-Eric的Mysql课堂(四)——Mysql的SQL高级查询
- 传奇人物|转: Windows之父Jim Allchin退休
- 开发工具|【开发工具】Linux环境下JDK安装(无错完整)
- #|【JavaWeb】Cookie和Session解析
- 图解Redis|Redis 主从复制
- MySQL|MySQL statefulset_Kubernetes进阶之StatefulSet有状态部署
- 腾讯云|阿里云腾讯云轻量应用服务器和云服务器的区别是什么
- 青龙面板|青龙面板最新版本2.10.11+(诺兰短信登录)nvjdc详细教程
- MySQL事务学习笔记(二) 相识篇