我有12000条记录的表,我有一个查询,这个表连接几个表+分页。我使用SET STATISTICS TIME ON/OFF
来衡量时间。对于第一页,它非常快,但越接近最后一页,它需要的时间越多。这是正常的吗?
答案 0 :(得分:2)
这是正常的,因为SQL Server无法直接搜索逻辑查询的给定页面。它会扫描结果流,直到它到达您想要的页面。
如果你想要恒定时间分页,你需要在索引上提供某种搜索键。例如,如果您可以保证ID int
列具有以1
开头的连续值,则可以通过说WHERE ID >= ... and ID < ...
来定期获取任何页面。
我相信你会在网上找到其他方法,但产品中没有任何内置。