Partilhar via


sp_createstats (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Chama a instrução CREATE STATISTICS para criar estatísticas de coluna única em colunas que não são já a primeira coluna de um objeto de estatísticas. Criar estatísticas de coluna única aumenta o número de histogramas, o que pode melhorar as estimativas de cardinalidade, os planos de consulta e o desempenho das consultas. A primeira coluna de um objeto de estatísticas tem um histograma; Outras colunas não têm histograma.

sp_createstats é útil para aplicações como benchmarking quando os tempos de execução das consultas são críticos e não podem esperar que o otimizador de consultas gere estatísticas de coluna única. Na maioria dos casos, não é necessário usar sp_createstats; o otimizador de consultas gera estatísticas de coluna única conforme necessário para melhorar os planos de consulta quando a AUTO_CREATE_STATISTICS opção está ativada.

Para obter mais informações sobre estatísticas, consulte Statistics. Para mais informações sobre como gerar estatísticas de coluna única, consulte a AUTO_CREATE_STATISTICS opção em ALTERAR CONJUNTO DE BASES DE DADOS.

Transact-SQL convenções de sintaxe

Sintaxe

sp_createstats
    [ [ @indexonly = ] 'indexonly' ]
    [ , [ @fullscan = ] 'fullscan' ]
    [ , [ @norecompute = ] 'norecompute' ]
    [ , [ @incremental = ] 'incremental' ]
[ ; ]

Arguments

[ @indexonly = ] 'indexonly'

Cria estatísticas apenas sobre colunas que estão num índice existente e que não são a primeira coluna em qualquer definição de índice. @indexonly é char(9), com um padrão de NO.

[ @fullscan = ] 'fullscan'

Usa a instrução CRIAR ESTATÍSTICAS com a FULLSCAN opção. @fullscan é char(9), com um padrão de NO.

[ @norecompute = ] 'norecompute'

Usa a instrução CRIAR ESTATÍSTICAS com a NORECOMPUTE opção. @norecompute é char(12), com um padrão de NO.

[ @incremental = ] 'incremental'

Usa a instrução CRIAR ESTATÍSTICAS com a INCREMENTAL = ON opção. @incremental é char(12), com um padrão de NO.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

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

Observações

sp_createstats não cria nem atualiza estatísticas em colunas que são a primeira coluna de um objeto de estatísticas existente. Isto 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 criadas com a CREATE STATISTICS instrução. sp_createstats não cria estatísticas nas primeiras colunas dos índices desativados, a menos que essa coluna seja usada noutro índice ativado. sp_createstats Não cria estatísticas em tabelas com um índice clusterizado desativado.

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

Permissions

Requer a pertença ao papel db_owner de base de dados fixa.

Examples

A. Crie estatísticas de coluna única em todas as colunas elegíveis

O exemplo seguinte cria estatísticas de coluna única em todas as colunas elegíveis da base de dados atual.

EXECUTE sp_createstats;
GO

B. Crie estatísticas de coluna única em todas as colunas de índice elegíveis

O exemplo seguinte cria estatísticas de coluna única em todas as colunas elegíveis que já estão num índice e que não são a primeira coluna do índice.

EXECUTE sp_createstats 'indexonly';
GO