当前位置: 代码迷 >> 综合 >> mysql性能优化之order by limit
  详细解决方案

mysql性能优化之order by limit

热度:106   发布时间:2023-09-19 18:12:31.0

mysql性能优化之order by limit


最近遇到一个慢查询sql,是用来做分页查询的,查询的表字段有一百多个,查询10万数据时间3S+。
通过查看表的设计,发现order by中的数据是建立了索引的,我用查询语句做测试的时候,发现了一个惊人的事情
oh my god,通过explain打开执行过程后,发现,我查询50000开始的20条数据,是有用索引的,但是查询80000开始的20条数据时,没有用到索引,事实见下图,而且可以看到,比较了40多万条数据
mysql性能优化之order by limit
mysql性能优化之order by limit
所以我就另辟蹊径,采用了inner join的方式通过减少io次数和比较次数,进行优化,可以看到,只比较了80020次

mysql性能优化之order by limit

  相关解决方案