任何人都可以告诉我在SQL查询中使用OPTION(FAST n)的缺点是什么。
例如,我如此快速地抓取100,000条记录,但这是否会对SQL Server的其他进程产生影响?
我正在接近我的问题。
我必须每周运行一个数据流程。所以第一个结果在5-7秒后出现,然后我对这些结果进行数据处理。结果通常包括几千行。每行需要几秒钟才能完成处理。通常,进程等待整个结果存在,然后开始处理。结果出现在数据集中(我正在使用c#控制台应用程序),我所以我希望前10个结果快速出来,以便我可以立即启动该进程,然后其余的行出来并添加到队列中等待转弯。
知道我该怎么做。
由于
答案 0 :(得分:8)
选项快速强制查询优化器不优化查询的总运行时间,但是获取前N行所需的时间。
如果你想要加入2个100万行的表,标准查询计划是一个表的哈希映射(一百万行的临时表),然后在另一个表上使用哈希映射查找。
快速10优化可能只会使用嵌套循环,因为构建100万行hashmap的工作量比嵌套循环的快速10步要多得多。如果你毕竟是100万行,嵌套循环可能需要3倍的时间,但是在快10的情况下,你会更快地获得10个。 (这个例子假设存在一个合适的索引)