分页sql语句优化

芝婵

关注

阅读 63

2023-02-03

MySQL的limit工作原理就是先读取n条记录,然后抛弃前n条,读m条想要的,所以n越大,性能会越差。

一般的分页做法,测试耗时 10.961s

 

  1. ​SELECT *5000000,10​

优化后,测试耗时 1.943s

 

  1. ​SELECT *(SELECT fid FROM t_history_data LIMIT 5000000,10)(fid)​

优化前的SQL需要更多I/O浪费,因为先读索引,再读数据,然后抛弃无需的行。而优化后的SQL(子查询那条)只读索引(Cover index)就可以了,然后通过member_id读取需要的列



精彩评论(0)

0 0 举报