sp_createstats (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Chama a instrução CREATE STATISTICS para criar estatísticas de coluna única em colunas que ainda não são a primeira coluna em um objeto de estatísticas. A criação de estatísticas de coluna única aumenta o número de histogramas, o que pode melhorar estimativas de cardinalidade, planos de consulta e desempenho de consulta. A primeira coluna de um objeto de estatísticas tem um histograma; outras colunas, não.

sp_createstats é útil para aplicativos como o benckmark, quando os tempos de execução de consulta são críticos e não podem aguardar a geração de estatísticas de coluna única pelo otimizador de consulta. Na maioria dos casos, não é necessário usar sp_createstats; o otimizador de consulta gera estatísticas de coluna única conforme necessário para melhorar os planos de consulta quando a opção AUTO_CREATE_STATISTICS está ativada.

Para obter mais informações sobre estatísticas, consulte Estatísticas. Para obter mais informações sobre como gerar estatísticas de coluna única, consulte a opção AUTO_CREATE_STATISTICS em Opções ALTER DATABASE SET (Transact-SQL).

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @indexonly = ] 'indexonly' Cria estatísticas somente em colunas que estão em um índice existente e não são a primeira coluna em nenhuma definição de índice. indexonly é char(9). O padrão é NO.

[ @fullscan = ] 'fullscan' Usa a instrução CREATE STATISTICS com a opção FULLSCAN . fullscan é char(9). O padrão é NO.

[ @norecompute = ] 'norecompute' Usa a instrução CREATE STATISTICS com a opção NORECOMPUTE . norecompute é char(12). O padrão é NO.

[ @incremental = ] 'incremental' Usa a instrução CREATE STATISTICS com a opção INCREMENTAL = ON . Incremental é char(12). O padrão é NO.

Valores do código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Cada objeto de estatísticas novo tem o mesmo nome da coluna em que foi criado.

Comentários

sp_createstats não cria nem atualiza estatísticas em colunas que são a primeira coluna em um objeto de estatísticas existente; Isso inclui a primeira coluna de estatísticas criadas para índices, colunas com estatísticas de coluna única geradas com AUTO_CREATE_STATISTICS opção e a primeira coluna de estatísticas criada com a instrução CREATE STATISTICS. sp_createstats não cria estatísticas nas primeiras colunas de índices desabilitados, a menos que essa coluna seja usada em outro índice habilitado. sp_createstats não cria estatísticas em tabelas com um índice clusterizado desabilitado.

Quando a tabela contém um conjunto de colunas, sp_createstats não cria estatísticas em colunas esparsas. Para obter mais informações sobre conjuntos de colunas e colunas esparsas, consulte Usar conjuntos de colunas e usar colunas esparsas.

Permissões

Requer associação na função de banco de dados fixa db_owner.

Exemplos

a. Criar estatísticas de coluna única em todas as colunas qualificadas

O exemplo a seguir cria estatísticas de coluna única em todas as colunas qualificadas do banco de dados atual.

EXEC sp_createstats;  
GO  

B. Criar estatísticas de coluna única em todas as colunas de índice qualificadas

O exemplo a seguir cria estatísticas de coluna única em todas as colunas qualificadas que já estejam em um índice, não sendo a primeira coluna no índice.

EXEC sp_createstats 'indexonly';  
GO  

Consulte Também

Estatísticas
CREATE STATISTICS (Transact-SQL)
Opções ALTER DATABASE SET (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Procedimentos armazenados do Mecanismo de Banco de Dados (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)