以下為從大數據量表檢索分頁數據的有效方法 測試時,先從LargeTable表選出1000條記錄分頁呈現
declare @pagesize int--每頁大小 declare @currentpage int--當前頁 set @pagesize=10 set @currentpage=1
SELECT TOP (@pagesize) * FROM ( SELECT top(1000) ROW_NUMBER() OVER (ORDER BY TIME_SEGMENT desc) AS id,* FROM LargeTable order by id ) as t WHERE t.id > (@pagesize*(@currentpage-1)) order by t.id;
測試結果,百萬級的沒有索引的表,為5s左右.
歡迎大家繼續改進!!!!!!!