侧边栏壁纸
博主头像
流苏小筑 博主等级

行动起来,活在当下

  • 累计撰写 139 篇文章
  • 累计创建 57 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

优化分页查询

Administrator
2024-04-02 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

优化分页查询

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

EXPLAIN SELECT * FROM student LIMIT 2000000,10;

m4f9sn6z.png

优化思路一

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

EXPLAIN SELECT * FROM student t,(SELECT id FROM student ORDER BY id LIMIT 
2000000,10) a WHERE t.id = a.id;

m4f9t190.png

优化思路二

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

EXPLAIN SELECT * FROM student WHERE id > 2000000 LIMIT 10;

m4f9tddk.png

0

评论区