查询超多分页怎么处理?

查询超多分页怎么处理?

答:在mysql中使用limit进行超多分页时,应该利用延迟关联或者子查询优化。


因为MySQL并不是跳过offset行,而是取出offset+N行,然后在返回放弃offset行,返回N行,那当offset特别大的时候,效率就会非常低,

要么控制返回的总页数,要么对超过的特定阙值的进行sql改写。


例如:先快速定位所需要获取的id段,然后在关联:
 SELECT a*

FROM 表1 a,(select id from 表1 where 条件 LIMIT 100000,20) b

WHERE a.id = b.id;

 

学习阿里Java规范

posted @ 2020-04-17 15:19  慕容天白  阅读(289)  评论(0编辑  收藏  举报