mysql order by主键速度慢问题

背景

今天遇到一个奇怪的问题,就是明明是order by id(主键)但却速度奇慢。

排查

针对这个sql, 做了一下explain, 发现其并没有走主键索引,而是走了其他的索引

总结

  1. mysql(innodb) 选择使用的索引时,有各种的优化选择策略,并不一定会符合我们的预期。而order by主键,这个可能是我们最常用到的一个不符合预期的情境,所以,以后在程序开发中,使用order by时,最好explain一下,看是否使用到了自己预期的索引。
  2. 如果mysql自主选择的索引不符合预期的话,一方面可以通过调整where条件,查询字段等方式进行尝试,使其使用预期的索引,另一方面,则可以使用FORCE INDEX的方式,强制mysql使用我们预期的索引

1 评论
最新
最旧 最多投票
内联反馈
查看所有评论
滚动至顶部