MySQL 大分页 LIMIT 优化一例

现象

管理端列表 LIMIT 100000, 10 耗时 3s+。

原因

MySQL 需要扫描并丢弃前 10 万行。

方案

用上一页末尾 ID 做游标(keyset 分页):

SELECT * FROM t WHERE id < #{lastId} ORDER BY id DESC LIMIT 10;

响应恢复到毫秒级。

评论 · 0 条

还没有评论,来抢沙发吧
回复
验证码