为 SQL Server 数据库启用自动创建/更新统计信息时是否需要手动更新统计信息?

owl*_*prt 3 performance sql-server

AUTO_CREATE_STATISTICSAUTO_UPDATE_STATISTICS选项为ON时,是否有必要定期(例如每天)为 SQL Server 数据库手动更新统计信息

mrd*_*nny 7

是的,您需要手动更新统计信息,尤其是当您的数据库变大时。

auto_update 统计逻辑仅在表比上次更新统计数据增长了 20% 后才会启动。在较大的表中,这可能是数亿条记录。在这些情况下,统计信息将在自动更新逻辑启动之前过时,因此您必须手动更新它们。

现在,如果您定期重建索引,那么索引的统计信息将已经更新,因为这是作为索引重建过程的一部分完成的。如果您对索引进行碎片整理而不是重建它们,那么您将需要更新统计信息,因为在您对索引进行碎片整理时,统计信息的更新不会自动完成。