最近发现项目的一些操作速度特别慢,原本以为是数据量太大造成,后来仔细分析下来有了重大发现。
一个很普通的操作,就几个查询几个简单的修改操作,操作时间尽达到了30多秒,这个速度是没法接受的,我们看下分析思路:
1. 查看当前的慢查询:
image.png结论
发现这个简单的update修改操作尽然在等待了,而且更怪异的是使用了id这种一般建表时的自增唯一主键
2. 使用explain大神进行分析
image.png结论
可以看出id没有走索引,而是进行了全表查询
发现了问题,怎么解决呢?
去看表结构,发现表里的 Primary key
和 Unique
都没有打对勾(下面的截图是我修改后的)
看下修改后的explain结果
image.png可以看出 where 已经使用id 索引了,这样的效率一下就上来了
随后又对经常用到的查询建立了索引
网友评论