排序与分页要点
- ORDER BY 列 ASC 升序(默认),DESC 降序
- 多列排序:ORDER BY 列1 DESC, 列2 ASC 先按列1 再列2
- LIMIT n 取前 n 行;LIMIT 偏移, 行数 从第偏移行起取
- 分页公式:LIMIT (页-1) 乘每页, 每页条数
- 排序字段有索引才快,否则额外做一次 filesort
- 深分页偏移大越翻越慢,改用游标 WHERE id 大于上一页最大
排序与分页示例
-- 价格从高到低取前 10
SELECT * FROM product ORDER BY price DESC LIMIT 10;
-- 第 3 页,每页 20(偏移 40)
SELECT * FROM product ORDER BY id LIMIT 40, 20;
避坑提醒:深分页用大 OFFSET 会越翻越慢,改用上一页最大 id 做游标:WHERE id 大于 上一页最大 LIMIT 20。