5

我认为 FORCE SEEK 可以提高 SELECT 查询的性能,但想知道 FORCE SCAN 是否也可以提高查询的性能。

有人可以举例解释吗?

4

1 回答 1

3

假设您有一个查询将产生 1.000.000 行,但 SQL Server 估计只有 100 行。然后 SQL Server 估计使用表查找的 100 次索引查找比全表扫描更快。但相反,它最终会进行 1.000.000 次索引查找和查找!

在这种情况下,添加force scan提示将提高查询的性能。

请注意,这种情况是不寻常的。SQL Server 尝试针对最坏的情况进行优化,并且不会使用搜索,除非非常确定没有太多搜索。这就是为什么forceseek更经常使用的原因forcescan

于 2012-10-31T10:02:18.257 回答