牛骨文教育服务平台(让学习变的简单)
博文笔记

Mysql分页优化

创建时间:2017-04-11 投稿人: 浏览次数:289

   MYSQL分页细节

在传统项目里面mysql 的分页最常用的方式就是limit O,N的方式来达到分页查询。简单方便,当数据量不大的时候这样写是没有什么问题,可是在互联网公司,数据量大的时候,千万级数据量时在遇到超大分页偏移量时mysql的查询效率就会直线下滑。


分页SQL的耗时是和start值的增加而成倍增加的。



一目了然,start的数值决定查询时间。由于我数据库数据量没有百万级就不再往上加了。

优化思路:

  1. 尽可能从索引中直接获取数据,避免或减少再次扫描行数据的次数(也就是我们通常所说的避免回表);

  2. 尽可能减少扫描的记录数,也就是先确定起始的范围,再往后取N条记录。

对比上面的SQL分页。 0.064s 降低到了 0.013s 

单从提升比例说,还是挺可观的



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。