为什么 LIMIT 很大的偏移会变慢?你怎么改?
语句类似 SELECT * FROM post ORDER BY id LIMIT 100000, 20。
答题思路
数据库仍要扫过前面的 10 万行再丢掉。改成按上一页最后的 id 往后取,让索引直接定位。
解析
这是后端面经常见的深分页题。回答里写出 WHERE id > ? ORDER BY id LIMIT 20,并说明前提是排序列稳定且有索引。
语句类似 SELECT * FROM post ORDER BY id LIMIT 100000, 20。
数据库仍要扫过前面的 10 万行再丢掉。改成按上一页最后的 id 往后取,让索引直接定位。
这是后端面经常见的深分页题。回答里写出 WHERE id > ? ORDER BY id LIMIT 20,并说明前提是排序列稳定且有索引。