SQL Server 2000 - “实际行数”究竟是什么?

时间:2009-01-12 20:08:40

标签: sql sql-server performance

我有一个SQL Server 2000查询,它执行聚簇索引扫描并显示非常多的行。对于我有260.000条记录的表,计划执行中显示的实际行数是...... 34.000.000。

这有意义吗?我误解了什么?

感谢。

3 个答案:

答案 0 :(得分:3)

执行计划中显示的值是基于统计数据的估算值。普通查询如:

SELECT COUNT(*) FROM Table

对您的交易100%准确*。

这是related question

*边缘情况可能因事务隔离级别而异。


有关统计数据的更多信息:

答案 1 :(得分:0)

如果您的行计数不在查询计划中,则需要更新统计信息,否则查询优化器可能会选择错误的计划。此外,聚簇索引扫描几乎就像表扫描...尝试修复索引,以便获得聚簇索引查找或至少索引搜索。

答案 2 :(得分:0)

但是......如果它是“实际行数”......为什么基于统计数据?

我假设在构建查询计划时使用了估计行数(并且从当时的统计信息中收集),并且实际行数是查询执行后添加的一些额外信息,用于用户调试和调整目的?

这不对吗?