对于单表数据量大的表,使用limit offet来分页查询可能会很慢,越往后偏移越慢,比如,
select * from demo order by id desc limit 20 offset 200000;
分析:demo表中id是自增主键,上述语句通过主键查询,然后筛选数据返回,可以优化只返回id,然后通过join来筛选数据,这样可以提升查询速度:
select * from demo join (select id from demo order by name limit 10 offset 200000) t on t.id=demo.id;