带分页的SQL Server查询 - 不同页面的不同时间

时间:2014-11-21 13:32:04

标签: sql-server performance

我有12000条记录的表,我有一个查询,这个表连接几个表+分页。我使用SET STATISTICS TIME ON/OFF来衡量时间。对于第一页,它非常快,但越接近最后一页,它需要的时间越多。这是正常的吗?

1 个答案:

答案 0 :(得分:2)

这是正常的,因为SQL Server无法直接搜索逻辑查询的给定页面。它会扫描结果流,直到它到达您想要的页面。

如果你想要恒定时间分页,你需要在索引上提供某种搜索键。例如,如果您可以保证ID int列具有以1开头的连续值,则可以通过说WHERE ID >= ... and ID < ...来定期获取任何页面。

我相信你会在网上找到其他方法,但产品中没有任何内置。