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 обновляет только изменившуюся статистику и использует сэмплирование по умолчанию. Повторный UPDATE STATISTICS по тому же индексу после REBUILD не нужен.

Открыть в DBAtlas →

Связанные материалы