ROW_NUMBER()OVER不够快,结果集很大,有什么好的解决方案吗?

ROW_NUMBER()OVER不够快,结果集很大,有什么好的解决方案吗?,第1张

ROW_NUMBER()OVER不够快,结果集很大,有什么好的解决方案吗?

几年前,当使用不具有此功能的Sql Server 2000时,我们遇到了相同的问题。

我们发现了这种方法,乍一看性能似乎很差,但是却让我们不知所措

试试看

DECLARE @Table TABLE(        ID INT PRIMARY KEY)--insert some values, as many as required.DECLARE @I INTSET @I = 0WHILE @I < 100000BEGIN    INSERT INTO @Table SELECt @I    SET @I = @I + 1ENDDECLARE @Start INT,        @Count INTSELECT  @Start = 10001,        @Count = 50SELECT  *FROM    (        SELECt  TOP (@Count)         * FROM    (  SELECt  TOP (@Start + @Count)          *  FROM    @Table  ORDER BY ID ASC         ) TopAsc ORDER BY ID DESC        ) TopDescORDER BY ID


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存