具有大量记录的Sql Server页面调度

时间:2014-08-29 12:40:57

标签: sql sql-server tsql sql-server-2008-r2

我有这个SQL查询分页:

SELECT * FROM 
  (
    SELECT T1.*,T2.*, ROW_NUMBER() over(ORDER BY ID DESC) row 
    FROM 
        table1 t1
         LEFT JOIN 
        table2 t2 on t1.id = t2.pid
  ) tbl
WHERE row>= @start and row<@end

现在的问题是,选择结果可能是数千条记录,将为每个用户的每个页面执行。

有什么建议我可以分开选择(选择较少的记录吗?)

ROW_NUMBER可能按ID或DATE超过订单。

顺便说一下,选择*只是为了简化示例代码。

1 个答案:

答案 0 :(得分:1)

如果您拥有SQL Server 2012或更高版本,则可以使用Offset所述的Fetchhere个关键字