有人能告诉我在SQL查询中使用选项(FAST n)的缺点吗?
例如,我获取100,000条记录的速度如此之快,但这会对Server的其他进程产生影响吗?
我有点接近我的问题了。
我必须每周运行一个数据处理程序。第一个结果在5-7秒后出来,然后我对这些结果进行数据处理。结果通常由几千行组成。每一行都需要几秒钟的时间来处理。通常,该过程等待整个结果在那里,然后开始处理。结果出现在dataset中(我使用的是c#控制台应用程序),所以我希望前10名的结果很快出来,这样我就可以立即启动进程,然后剩下的行出来并添加到队列中,等待那里的转弯。
知道我该怎么做吗。
谢谢
发布于 2014-05-29 04:48:42
选项fast强制查询优化器不优化查询的总运行时,而是优化获取第一个N行所需的时间。
如果您有两个包含100万行的表,则标准查询计划是一个包含一个表(百万行临时表)的哈希映射,然后在另一个表上使用hashmap查找。
快速10优化可能只是使用嵌套循环,因为构建100万行hashmap的工作比嵌套循环的快速10步要多得多。如果您是所有的100万行,嵌套循环可能需要3倍的时间,但在快速10下,您将更快地得到这10行。(本例假定存在合适的索引)
https://stackoverflow.com/questions/13853412
复制相似问题