大数据分页优化
直接 limit 缺点
limit
语句的查询时间和起始记录的位置成正比- 记录很多的时候,不适合直接使用
优化
-
使用了逻辑删除的表
id具有一连续性
- 使用 where 子句限制 id 的方式最为合适
select * from t_user where id > 3000000 and id <= 3000000+100;
主键值不连续的表
- 利用主键索引加速,再做表连接查询
select t.id, t.name from t_user as t — 提前将 id 用 where 子句查询出来 join (select * from t_user where id > 3000000 limit 100 ) as tmp on t.id = tmp.id;