Хранимая процедура sp_createstats (Transact-SQL)

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

Вызывает инструкцию CREATE STATISTICS , чтобы создать статистику с одним столбцом для столбцов, которые еще не являются первым столбцом в объекте статистики. Создание статистики по отдельным столбцам увеличивает число гистограмм, что может улучшить оценку количества элементов, усовершенствовать планы запросов и повысить производительность запросов. Первый столбец объекта статистики содержит гистограмму, а прочие — не содержат.

Процедура sp_createstats полезна для таких задач, как тестирование производительности, когда существенно важно время выполнения запросов и недопустимо ожидание построения статистики по отдельным столбцам оптимизатором запросов. В большинстве случаев не требуется использовать sp_createstats; Оптимизатор запросов создает статистику с одним столбцом, чтобы улучшить планы запросов при включении параметра AUTO_CREATE_STATISTICS .

Дополнительные сведения о статистике см. в статье Статистика. Дополнительные сведения о создании статистики с одним столбцом см. в параметре AUTO_CREATE_STATISTICS в параметрах ALTER DATABASE SET (Transact-SQL).

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sp_createstats   
    [   [ @indexonly =   ] { 'indexonly'   | 'NO' } ]   
    [ , [ @fullscan =    ] { 'fullscan'    | 'NO' } ]   
    [ , [ @norecompute = ] { 'norecompute' | 'NO' } ]  
    [ , [ @incremental = ] { 'incremental' | 'NO' } ]  

Аргументы

[ @indexonly = ] 'indexonly' Создает статистику только для столбцов, которые находятся в существующем индексе и не являются первым столбцом в определении индекса. indexonlychar(9). Значение по умолчанию — NO.

[ @fullscan = ] 'fullscan'Использует инструкцию CREATE STATISTICS с параметром FULLSCAN. fullscanchar(9). Значение по умолчанию — NO.

[ @norecompute = ] 'norecompute'Использует инструкцию CREATE STATISTICS с параметром NORECOMPUTE. norecomputechar(12). Значение по умолчанию — NO.

[ @incremental = ] 'incremental'Использует инструкцию CREATE STATISTICS с параметром INCREMENTAL = ON. Добавочныйchar(12). Значение по умолчанию — NO.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Каждая новая статистика имеет имя, совпадающее со столбцом, по которому она создается.

Замечания

sp_createstats не создает или не обновляет статистику по столбцам, которые являются первым столбцом в существующем объекте статистики; Это включает первый столбец статистики, созданный для индексов, столбцов с статистикой с одним столбцом, созданной с помощью параметра AUTO_CREATE_STATISTICS, и первый столбец статистики, созданный с помощью инструкции CREATE STATISTICS. sp_createstats не создает статистику по первым столбцам отключенных индексов, если этот столбец не используется в другом включенном индексе. sp_createstats не создает статистику по таблицам с отключенным кластеризованным индексом.

Если таблица содержит набор столбцов, то хранимая процедура sp_createstats не создает статистику по разреженным столбцам. Дополнительные сведения о наборах столбцов и разреженных столбцах см. в разделе "Использование наборов столбцов и использование разреженных столбцов".

Разрешения

Требуется членство в предопределенной роли базы данных db_owner.

Примеры

О. Создание статистики по отдельным столбцам для всех подходящих столбцов

В следующем примере создается статистика по отдельным столбцам для всех подходящих столбцов в базе данных.

EXEC sp_createstats;  
GO  

B. Создание статистики по отдельным столбцам для всех подходящих столбцов индекса

В следующем примере создается статистика по отдельным столбцам для всех подходящих столбцов, которые включены в индекс, но не являются первыми в индексе.

EXEC sp_createstats 'indexonly';  
GO  

См. также

Статистика
CREATE STATISTICS (Transact-SQL)
Параметры ALTER DATABASE SET (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Хранимые процедуры ядра СУБД (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)