Обновите статистику
Применимо:SQL Server
База данных SQL Azure
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
База данных SQL в 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).
В обозреватель объектов выберите знак "плюс", чтобы развернуть базу данных, в которой требуется обновить статистику.
Чтобы развернуть папку Таблицы, выберите значок "плюс".
Выберите знак плюса, чтобы развернуть таблицу, в которой требуется обновить статистику.
Выберите знак "плюс", чтобы развернуть папку "Статистика ".
Щелкните правой кнопкой мыши объект статистики, который нужно обновить, и выберите пункт Свойства.
В диалоговом окне "Свойства статистики -statistics_name" установите флажок "Обновить статистику для этих столбцов" и нажмите OK.
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
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;
Используйте такие решения, как Адаптивная дефрагментация индекса, для автоматического управления дефрагментацией индекса и обновлением статистики для одной или больше баз данных. С помощью линейного порогового значения эта процедура автоматически принимает решение о перестройке или реорганизации индекса в зависимости от его уровня фрагментации и других параметров, а также об обновлении статистики.