| 用途 | 限制结果集与分页 |
|---|---|
| 语法 | LIMIT [offset,] count 或 LIMIT count OFFSET offset |
| 优化 | 键集分页 / 延迟关联 |
基础分页
基础分页
SELECT id, sku FROM orders ORDER BY id LIMIT 20; -- 第1页
SELECT id, sku FROM orders ORDER BY id LIMIT 20 OFFSET 20; -- 第2页深翻页优化
深翻页优化
-- 键集分页:记住上一页最后的 id
SELECT id, sku FROM orders WHERE id > 100020 ORDER BY id LIMIT 20;
-- 延迟关联:先在索引上取 id 再回表
SELECT o.* FROM orders o
JOIN (SELECT id FROM orders ORDER BY id LIMIT 1000000, 20) t USING(id);OFFSET 越大越慢:MySQL 仍需读取并丢弃前 N 行,翻到百万级页面应改用游标或延迟关联。