分页查询大量数据时的加速优化
目录
在对大量数据进行分页查询时,我们经常使用LIMIT B OFFSET A
的语法:
|
|
但是,LIMIT B OFFSET A
语法的原理是,先取出 (A+B) 条数据,然后将前 A 条数据丢弃,返回剩下的 B 条数据。在处理大量数据时,随着 OFFSET 值的增大,取出的数据量也越来越多,造成查询速度变慢。
一种处理方式是,使用WHERE
筛选替代OFFSET
。
|
|
优缺点比较:
- 优点:每次查询的数据量都为 B,速度不会变慢;
- 缺点:需要知道上个分页最后一条数据的 ID,即 C。因此只适合连续的分页查询数据。