Обновите статистику
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric
Обновить статистику оптимизации запросов для таблицы или индексированного представления в SQL Server можно с помощью SQL Server Management Studio или Transact-SQL. По умолчанию оптимизатор запросов уже обновляет статистику, чтобы улучшить план запроса; В некоторых случаях можно повысить производительность запросов с помощью UPDATE STATISTICS
хранимой процедуры sp_updatestats
или обновлять статистику чаще, чем обновления по умолчанию.
Обновление статистики гарантирует, что запросы будут компилироваться с актуальной статистикой. Однако обновление статистики вызывает перекомпиляцию запросов. Мы рекомендуем не обновлять статистику слишком часто, так как между улучшением планов запросов и временем повторной компиляции запросов возникает компромисс. Критерии выбора компромиссного решения зависят от приложения. UPDATE STATISTICS
может использовать tempdb
для сортировки примеров строк, чтобы создать статистику.
Разрешения
При использовании UPDATE STATISTICS
или внесении изменений в SQL Server Management Studio требуется разрешение ALTER в таблице или представлении. При использовании процедуры sp_updatestats
необходимо быть членом предопределенной роли сервера sysadmin или владельцем базы данных (dbo).
Использование SQL Server Management Studio
Обновление объекта статистики
В обозреватель объектов выберите знак "плюс", чтобы развернуть базу данных, в которой требуется обновить статистику.
Чтобы развернуть папку Таблицы, выберите значок "плюс".
Выберите знак плюса, чтобы развернуть таблицу, в которой требуется обновить статистику.
Выберите знак "плюс", чтобы развернуть папку "Статистика ".
Щелкните правой кнопкой мыши объект статистики, который нужно обновить, и выберите пункт Свойства.
В диалоговом окне "Свойства статистики- statistics_name" установите флажок "Обновить статистику для этих столбцов" и нажмите кнопку "ОК".
Использование Transact-SQL
Обновление определенного объекта статистики
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO -- The following example updates the statistics for the AK_SalesOrderDetail_rowguid index of the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid; GO
Обновление всей статистики в таблице
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
Дополнительные сведения см. в разделе UPDATE STATISTICS.
Обновление всей статистики в базе данных
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO -- The following example updates the statistics for all tables in the database. EXEC sp_updatestats;
Автоматическое управление индексами и статистикой
Используйте такие решения, как Адаптивная дефрагментация индекса, для автоматического управления дефрагментацией индекса и обновлением статистики для одной или больше баз данных. С помощью линейного порогового значения эта процедура автоматически принимает решение о перестройке или реорганизации индекса в зависимости от его уровня фрагментации и других параметров, а также об обновлении статистики.