先来一段代码:
WITH OrderedOrders AS
(SELECT *,ROW_NUMBER() OVER (order by [id])as RowNumber --id是用来排序的列
FROM table_info ) --table_info是表名
SELECT *
FROM OrderedOrders
WHERE RowNumber between 50 and 60;
在windows server 2003, sql server 2005 CTP,P4 2.66GHZ,1GB 内存下测试,执行时间0秒 [lol] ,表中数据量230万
接下来大批量的数据查询性能瓶颈就在count了,不知道sql server 2005在这方面有没有什么改进.
附另一种方法:
SELECT *
FROM (select *,ROW_NUMBER() Over(order by id) as rowNum from table_info ) as myTable
WHERE rowNum between 50 and 60;
本文通过具体示例展示了如何使用SQL Server 2005进行高效的大数据分页查询,并对比了不同方法的性能表现。
87

被折叠的 条评论
为什么被折叠?



