Обновить статистику
Применимо к: SQL Server Azure SQL Database
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Обновить статистику оптимизации запросов для таблицы или индексированного представления в 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
Обновление объекта статистики
В обозревателе объектовщелкните значок «плюс», чтобы развернуть базу данных, в которой нужно обновить статистику.
Чтобы развернуть папку Таблицы , щелкните значок «плюс».
Щелкните значок «плюс», чтобы развернуть таблицу, в которой нужно обновить статистику.
Щелкните значок «плюс», чтобы развернуть папку Статистика .
Щелкните правой кнопкой мыши объект статистики, который нужно обновить, и выберите пункт Свойства.
В диалоговом окне Свойства статистики —имя_статистики установите флажок Обновить статистику для этих столбцов и нажмите кнопку ОК.
Использование Transact-SQL
Обновление указанного объекта статистики
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; 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
Обновление всей статистики в таблице
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
Дополнительные сведения см. в статье Инструкция UPDATE STATISTICS (Transact-SQL).
Обновление всей статистики в базе данных
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2012; GO -- The following example updates the statistics for all tables in the database. EXEC sp_updatestats;
Автоматическое управление индексами и статистикой
Используйте такие решения, как Адаптивная дефрагментация индексов, чтобы автоматически управлять дефрагментацией индексов и обновлениями статистики для одной базы данных или нескольких. Эта процедура автоматически выбирает, следует ли перестроить или реорганизовать индекс, сверяясь с уровнем фрагментации и другими параметрами, и обновляет статистику на основе линейных пороговых значений.
Дальнейшие действия
Дополнительные сведения см. в статье Инструкция UPDATE STATISTICS (Transact-SQL).