【发布时间】:2013-03-18 05:15:49
【问题描述】:
我有一个包含 100 行的表,并且只想选择其中的一部分(例如从第 20 行到第 30 行),例如“分页”SELECT。
在 SQL Server 2008 R2 中哪种方法是有效的?
【问题讨论】:
-
sql server 2008 r2,我发现了一些东西,但那些似乎不是最好的
标签: sql sql-server performance pagination
我有一个包含 100 行的表,并且只想选择其中的一部分(例如从第 20 行到第 30 行),例如“分页”SELECT。
在 SQL Server 2008 R2 中哪种方法是有效的?
【问题讨论】:
标签: sql sql-server performance pagination
你可以这样做(假设你的表名为“tablename”,你的主键是 id,你想要第 10 到 15 行)。
select * from
(select *,row_number() over (order by id) as r from tablename)
t where r >10 and r < 15;
它可能看起来效率低下,但这(某种程度上)是它在 linq 内部完成的方式。
【讨论】: