我有一个大约需要 10 秒才能运行的查询,我正在尝试对其进行优化。
所有时间都花在键查找上,这很好,但是在这种情况下,如果我将鼠标悬停在实际执行计划中的键查找上,它会说
Expected Rows : 1
Estimated Executions : 3341
Actual Rows : 0
Executions : 0
我知道在这种情况下,统计信息期望索引查找可以找到很好的行,但是由于索引查找中没有返回任何行,为什么键查找需要任何时间?甚至根本不会显示在查询计划中?
我有一个大约需要 10 秒才能运行的查询,我正在尝试对其进行优化。
所有时间都花在键查找上,这很好,但是在这种情况下,如果我将鼠标悬停在实际执行计划中的键查找上,它会说
Expected Rows : 1
Estimated Executions : 3341
Actual Rows : 0
Executions : 0
我知道在这种情况下,统计信息期望索引查找可以找到很好的行,但是由于索引查找中没有返回任何行,为什么键查找需要任何时间?甚至根本不会显示在查询计划中?
“实际”计划中显示的每个运营商的百分比仍然是估计值。“估计”的“实际”计划的增加是实际行数和操作员执行。
在您给出的示例中,密钥查找估计执行了 3341 次,这就是它具有较高估计百分比成本的原因。
其他操作员之一真的很浪费时间。从 Sentry One获取一份(免费的)Plan Explorer副本,它将更容易识别位置。
如果没有什么突出的,开始一个新问题并发布执行计划 xml。