SQL---分页查询
Posted HuZihu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL---分页查询相关的知识,希望对你有一定的参考价值。
分页实际上就是从结果集中截取当前所需要展示的那部分内容。
为什么需要进行分页查询?当使用SELECT查询时,如果结果集数据量很大,比如有上万条记录,一次性查询所有结果会变得很慢,因此需要使用分页查询。
分页查询的几种方式:
1,限定+偏移(LIMIT ... OFFSET ...)
首先确定每页需要显示的结果数量pagesize,然后将LIMIT设定为pagesize,再根据当前页的索引pageindex,计算OFFSET的值为pagesize*(pageindex-1)。
SELECT * FROM user
ORDER BY id
LIMIT 10 OFFSET 20;
缺点:当LIMIT偏移量大的时候,查询效率较低。
2,筛选+限定
比如我们要取的是从第10000行开始的10行记录,那么我们可以先把大于或等于10000行的数据查出来并排序,然后再取出前10行记录。
SELECT * FROM user WHERE id >=10000 ORDER BY id LIMIT 10;
这种查询方式能够极大地优化查询速度,基本能够在几十毫秒之内完成。
缺点:只能使用于明确知道id的情况。
以上是关于SQL---分页查询的主要内容,如果未能解决你的问题,请参考以下文章
数据表过滤器在应用SQL Server 2008分页代码时无法正常工作
thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?
sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li