在哪种情况下,估计的执行次数和实际执行次数有所不同?有人可以列出这些场合吗?
提前致谢
答案 0 :(得分:2)
因为它们已经过时而与现实无法匹配的狡猾统计数据。
复杂查询假设背后的数学错误。统计数据条目总是简化(直方图),某些值可能不适合它。
两者都可以参与其中。
答案 1 :(得分:2)
通常,分布统计数据负责基数估算。除了TomTom所说的,直到最近SQL Server一直假设表变量恰好包含1行。毋庸置疑,有时这会导致执行计划出现严重错误 - 实际上是ganz falsch。
如果您使用包含大量行的表变量,请切换到至少2012并设置一个特殊的跟踪标记,以便进行正确的估算:http://support.microsoft.com/kb/2952444