在SQL Server上执行分页的最佳方法是哪种?

在SQL Server上执行分页的最佳方法是哪种?,第1张

在SQL Server上执行分页的最佳方法是哪种?
ALTER PROCEDURE [dbo].[SP_tblTest_SelectSpecificRecordsWithCTE]    @FromRow int = 1000000,    @PgSize int = 10ASBEGIN    ;WITH RecordsRN AS    (        select ID, colValue, ROW_NUMBER() over(order by colvalue) as Num from tblTest    )    SELECt ID Value, colValue Text FROM RecordsRN WHERe Num between @FromRow AND (@FromRow+@PgSize-1)END

这是我用于分页的查询。使用它,您将在4-5秒内获得所需的10条记录。我在3秒内获得10条记录,我的数据库中的总记录为1000万,不要使用前10条记录,每次只会带来相同的10条记录。就我而言,我在会话中保持页面大小和起始行号(@FromRow),并将这两个值传递给以下给定的存储过程并获得结果。此外,如果您使用的是SQL
2012,则可能需要使用OFFSET和Fetch接下来的10行。在Google上搜索有关OFFSET关键字的信息,您将在顶部看到所需的结果。

谢谢



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存