Mysql优化分页查询

x33g5p2x  于2021-03-14 发布在 Mysql  
字(0.3k)|赞(0)|评价(0)|浏览(374)

一般分页查询时,通过创建覆盖索引能够比较好地提高性能。一个常见又非常头疼的问题就是 limit 2000000,10 ,此时需要MySQL排序前2000010 记录,仅仅返回2000000 - 2000010 的记录,其他记录丢弃,查询排序的代价非常大 。

1 优化思路一

在索引上完成排序分页操作,最后根据主键关联回原表查询所需要的其他列内容。

select t.* from tb_user t inner join (select id from tb\_user order by id limit 999910,10) a on t.id=a.id;

2 优化思路二

该方案适用于主键自增的表,可以把Limit 查询转换成某个位置的查询 。

select * from tb_user where id > 999910 limit 10;

相关文章

微信公众号

最新文章

更多