DBAtlas · 数据库运维图谱

更新统计信息

SQL Server维护

命令

-- Single table, full scan:
UPDATE STATISTICS dbo.Customer WITH FULLSCAN;

-- Specific statistic, with sampling:
UPDATE STATISTICS dbo.Customer IX_Customer_Email WITH SAMPLE 30 PERCENT;

-- Bulk for the whole database (user tables), sampled:
EXEC sys.sp_updatestats;

作用

更新优化器使用的列/索引统计信息;确保执行计划和基数估算正确。

适用场景

大量数据变更/加载后、出现执行计划回归时;索引重建已经完整刷新统计信息(无需单独更新)。

注意

FULLSCAN 准确但开销大;在大表上会产生 I/O 负载。sp_updatestats 只更新发生变化的统计信息,并使用默认采样。索引 REBUILD 之后再对同一索引执行 UPDATE STATISTICS 是不必要的。

在 DBAtlas 中打开 →

相关内容