MySQL优化之 分页查询优化
本章主题
关键词
很多时候,业务上会有分页操作的需求,对应的 SQL 类似下面这条:
select a,b,c from t1 limit 10000,10;
表示从表 t1 中取出从 10001 行开始的 10 行记录。看似只查询了 10 条记录,实际这条 SQL 是先读取 10010 条记录,然后抛弃前 10000 条记录,然后读到后面 10 条想要的数据。因此要查询一张大表比较靠后的数据,执行效率是非常低的。
分析两种情况的分页查询
• 根据自增且连续主键排序的分页查询
• 查询根据非主键字段排序的分页查询
根据自增且连续主键排序的分页查询
首先来看一个根据自增且连续主键排序的分页查询的例子
select *