Mysql分页优化

   MYSQL分页细节

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


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



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

优化思路:

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

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

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值