SQL server2005上千万条数据分页查询怎么做优化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server2005上千万条数据分页查询怎么做优化?相关的知识,希望对你有一定的参考价值。

参考技术A 1、使用递归查询方法,拼接一个通用的存储过程~~~
2、【界面需要显示20条数据,查询结果就【只返回】20条数据】 这是重点
3、给数据表建立索引
4、使用嵌套查询、左外连接查询等等~~~~

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 server2005上千万条数据分页查询怎么做优化?的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 2005 中使用 ROW_NUMBER() OVER () 对不同列进行排序的分页查询

sqlserver2005模糊查询分页具体该怎么实现?

mysql大数据量之limit优化

SQL Server 2005中的分区表:什么是分区表?为什么要用分区表?如何创建分区表?

jsp+sqlserver 2005模糊查询分页时候点击那个首页或下一页的时候老是查出所有

sqlserver2000 如何提高分页查询大数据量的效率