MySQL 深分页优化——大数据量分页不再卡顿
·
一、问题场景
-- 数据量1000万,翻到第100万条
SELECT * FROM `order` LIMIT 1000000, 20;
-- 会扫描前100万条再丢弃,非常慢
二、优化方案
方案一:子查询定位
SELECT * FROM `order`
WHERE id > (SELECT id FROM `order` ORDER BY id LIMIT 1000000, 1)
ORDER BY id LIMIT 20;
方案二:记录上次位置(推荐)
-- 第一次请求
SELECT * FROM `order` ORDER BY id LIMIT 20;
-- 后续请求带上上次的最大 id
SELECT * FROM `order` WHERE id > #{lastId} ORDER BY id LIMIT 20;
💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!
更多推荐


所有评论(0)