自增且连续主键的分页查询
避免前n条记录的读取[https://dev.mysql.com/doc/refman/5.7/en/limit-optimization.html](mysql manual),可以采用:
select * from t1 where id >99000 limit 2;
要求主链连续且自增,否则很多时候不适用。
非主键字段排序的分页查询
可能不走索引
select * from t1 order by a limit 99000,2;
优化:关键是让排序时返回的字段尽可能少,所以可以让排序和分页操作先查出主键,然后根据主键查到对应的记录
select * from t1 f inner join (select id from t1 order by a limit 99000,2)g on f.id = g.id;