深分页为什么慢?怎么进行优化。

张开发
2026/4/12 7:34:08 15 分钟阅读

分享文章

深分页为什么慢?怎么进行优化。
预防回表的问题由于二级索引引起的。最主要的问题 用 Limit 的原因。**解决**消除用 Limit 用主键id作为条件处理 解决方案 情形1 数据只有索引覆盖。方案1 SELECT [索引1][索引2] FROM xxxTable where [索引2] LIMIT n m情形2 查询当中还有其他数据。方案2 把索引覆盖作为一个子查询然后用一级索引表关联。JOIN (子查询) temp ON t.id temp.id方案3 对方案3的改进 不需要上述前提条件的方案采用游标。要记录下上一个分页最大的id值, maxId。缺点不能跳转页面并且不能为非增主键比如UUID。最终可选方案可以同时结合方案3与方案2且主键自增第一步判断页面是否是下一页。​ 若是方案3​ 若不是方案2业务上的补充在业务上对深分页非必须的时候限制深分页即可。

更多文章