SQL:实际行数差异

Roc*_*ngh 2 sql sql-server sql-server-2008 sql-execution-plan

可能重复:
SQL Server如何计算出估计的行数?

我只是在查看SQL Server图形执行计划,我遇到了以下两个信息:

  1. 实际行数-2385
  2. 估计行数为180

我想知道为什么会出现这种差异.你能解释一下他们之间的区别吗?如果你能用一些例子来解释它会很有帮助.

谢谢.

JNK*_*JNK 6

行估计基于统计.不准确的估计可能来自许多因素:

  • 您的数据或统计信息中的基数较低
  • 过时或不完整的统计数据
  • 低效的执行计划
  • 并发问题(从创建执行计划到执行时间的数据变化)

通常,在遇到问题之前不要担心.

根据我的经验,它通常基于您的统计数据中的基数.

如果基于两个具有索引的字段进行选择,则行估计将基于相应索引中值的可能性乘以总行数.