分页查询OFFSET:
1.执行带有OFFSET的分页查询时,OFFSET关键字告诉数据库跳过前面的多少条记录。例如,要查询users表中的第二页数据,并且每页显示10条记录。
SELECT * FROM users
LIMIT 10 OFFSET 10;
表示从users表中选取10条记录,但跳过前面的10条记录。
2.KEYSET分页
Keyset pagination(键控分页)是一种分页技术,它使用数据的排序顺序来决定下一页的内容,而不是像传统的Offset-Limit分页那样跳过固定数量的记录。适用于具有连续键的数据集,因为它避免了随着偏移量的增加而导致的性能下降。
EXPLAIN
SELECT * FROM users
WHERE create_time>=‘2020-11-01 00:10:00’ and id>20
ORDER BY create_time, id
LIMIT 20;
上述代码使用了ORDER BY create_time, id来确定数据的排序顺序,并使用了WHERE create_time>=‘2020-11-01 00:10:00’ and id>20来过滤数据。使用了LIMIT 20来限制返回的记录数量。这个查询实际上是在使用一种类似键控分页的方法,因为它依赖于数据的排序顺序和过滤条件来获取下一组记录。