我正在研究 SQL,并且在性能方面不是那么技术性。我正在使用 c# 动态形成查询,并且在我的脑海中具有分页目的
每次在分页上单击时,我都会获取 10 条记录和我的示例查询,如下所示
Select *
from (Select ROW_NUMBER() OVER (ORDER BY TestId)[RowNumber],TestId...........) as paging
Where RowNumber BETWEEN 10 AND 20
其中 testId 是主键。
效果很好。我发布了语法,因为它是机密数据。它在 6 秒内执行
如果用户点击最后一页形成以下查询
Select *
from (Select ROW_NUMBER() OVER (ORDER BY TestId)[RowNumber],TestId...........) as paging
Where RowNumber BETWEEN 30000 AND 30010
上述查询需要 40 秒。
我缺少的核心是什么
每次我得到 10 条记录,但时间差异很大
谢谢