sp_createstats (Transact-SQL)
Chama a instrução CREATE STATISTICS para criar estatísticas de coluna única em colunas que ainda não sejam a primeira coluna de 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 benchmark, 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 consultas gera estatísticas de coluna única conforme necessário para melhorar 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 da sintaxe Transact-SQL
Sintaxe
sp_createstats [ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
Argumentos
[ @indexonly= ] 'indexonly'
Cria estatísticas apenas em colunas que estão em um índice existente e não são a primeira coluna em qualquer 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.
Valores de 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 sejam a primeira coluna em um objeto de estatísticas existente; isso inclui a primeira coluna de estatísticas criada para índices, colunas com estatísticas de coluna única geradas com a opção AUTO_CREATE_STATISTICS. sp_createstats não cria estatísticas nas primeiras colunas de índices desabilitados a menos que aquela 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 esparsas, consulte Usar conjuntos de colunas e Usar colunas esparsas.
Permissões
Exige a associação à 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
Referência
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)