威凡网全力打造:网页编程、软件开发编程、平面设计、服务器端开发、操作系统等在线学习平台!学编程,上威凡网!
数据库>> Mysql Sqlserver Oracle SQlite Access Sybase SQL其他
当前位置:首页 > 数据库 > Mysql
上一节 下一节
 MySQLSQL优化:触手碍脚的索引

 

mysql sql优化:碍手碍脚的索引

该篇是sql优化的第4篇。

这里主要表达我的一个观点是:不该存在的索引就该干掉,留着碍事

在2014-3-12 15:39:01 -- 15:55:00这段时间内,在某个业务系统我们发现2个问题:
1. 数据库存在大量的查询等待
2. 服务器的存在较严重的io等待

 

这种现象在数据库中实际也是很常见,就是某个慢查询,始作俑者,执行特马慢,把后面本该很快的查询给堵住,导致系列长查询出现

经诊断,我们发现某张表里存在dateline索引,该索引会让mysql优化器选择错了执行计划,导致后续大量sql拥堵,大概有5000条query相互堵住

如果不走dateline索引,效果很好,下面对比:

1. 执行计划对比

 

 

2. 执行时间对比:

 

 

因此,我们给开发童鞋的反馈是,卡擦掉dateline索引

起初我们并不知道该索引是否还提供给其他query使用,所以胆战心惊害怕会引起其他查询变慢

不过经过这段时间的观察,实际上,并没有其他查询在使用这条索引


索引是好东西,但不要贪哦


good luck!


申明:本教程内容由威凡网编辑整理并提供IT程序员分享学习,如文中有侵权行为,请与站长联系(QQ:254677821)!
上一节 下一节
相关教程  
其他教程  
Mysql
Sqlserver
Oracle
SQlite
Access
Sybase
SQL其他

违法和不良信息举报中心】邮箱:254677821@qq.com
Copyright©威凡网 版权所有 苏ICP备2023020142号
站长QQ:254677821