Criar estatísticas

Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Você pode criar estatísticas de otimização de consulta em uma ou mais colunas de uma tabela ou em uma exibição indexada no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Para a maioria das consultas, o otimizador de consulta já gera as estatísticas necessárias para um plano de consulta de alta qualidade; em alguns casos, é necessário criar estatísticas adicionais.

Limitações e restrições

Antes de criar estatísticas com a instrução de CREATE STATISTICS, verifique se a opção AUTO_CREATE_STATISTICS está definida no nível do banco de dados. Isso assegurará que o otimizador de consulta continue criando rotineiramente estatísticas de coluna única para colunas de predicado de consulta.

Você pode listar até 32 colunas por objeto de estatísticas.

Não é possível remover, renomear ou alterar a definição de uma coluna de tabela que esteja definida em um predicado estatístico filtrado.

Permissões

exige que o usuário seja o proprietário da tabela ou exibição indexada ou um membro de uma das seguintes funções: função de servidor fixa sysadmin , função de banco de dados fixa db_owner ou função de banco de dados fixa db_ddladmin .

Usar o SQL Server Management Studio

  1. No Pesquisador de Objetos, selecione o sinal de adição para expandir o banco de dados no qual você deseja criar uma nova estatística.

  2. Selecione o sinal de adição para expandir a pasta Tabelas.

  3. Selecione o sinal de adição para expandir a tabela na qual você deseja criar uma estatística.

  4. Clique com o botão direito do mouse na pasta Estatísticas e selecione Novas Estatísticas....

    As propriedades a seguir são mostradas na página Geral na caixa de diálogo Novas Estatísticas na Tabelatable_name .

    Propriedade Descrição
    Nome da tabela Exibe o nome da tabela descrito pelas estatísticas.
    Nome das Estatísticas Exibe o nome do objeto de banco de dados onde as estatísticas são armazenadas.
    Colunas de Estatísticas Essa grade mostra as colunas descritas por esse conjunto de estatísticas. Todos os valores na grade são somente leitura.
    Nome Exibe o nome da coluna descrito pelas estatísticas. Esse pode ser uma única coluna ou uma combinação de colunas em uma única tabela.
    Tipo de Dados Indica o tipo de dados das colunas descritas pelas estatísticas.
    Tamanho Exibe o tamanho do tipo de dados para cada coluna.
    Identidade Indica uma coluna de identidade quando é verificado.
    Permitir Nulos Indica se a coluna aceita valores nulos.
    Adicionar Adicione mais colunas da tabela à grade de estatísticas.
    Remover Remove a coluna selecionada da grade de estatísticas.
    Mover para Cima Move a coluna selecionada para um local anterior na grade de estatísticas. A localização na grade pode afetar substancialmente a utilidade das estatísticas.
    Mover para Baixo Move a coluna selecionada a um local posterior na grade de estatísticas.
    As estatísticas para essas colunas foram atualizadas pela última vez Indica a idade das estatísticas. As estatísticas são mais valiosas quando são atuais. Atualize as estatísticas depois de grandes alterações nos dados ou depois de adicionar dados atípicos. As estatísticas para tabelas que têm uma distribuição consistente de dados precisam ser atualizadas com menos frequência.
    Atualize estatísticas para essas colunas Verifique para atualizar as estatísticas quando a caixa de diálogo estiver fechada.

    A propriedade a seguir é mostrada na página Filtro na caixa de diálogo Novas Estatísticas na Tabelatable_name .

    Propriedade Descrição
    Expressão de filtro Define quais linhas de dados devem ser incluídas nas estatísticas filtradas. Por exemplo, Production.ProductSubcategoryID IN ( 1, 2, 3 )
  5. Na caixa de diálogo Novas Estatísticas na Tabelatable_name, na página Geral, selecione Adicionar.

    As propriedades a seguir aparecem na caixa de diálogo Selecionar Colunas . Essas informações são somente leitura.

    Propriedade Descrição
    Nome Exibe o nome da coluna descrito pelas estatísticas. Esse pode ser uma única coluna ou uma combinação de colunas em uma única tabela.
    Tipo de Dados Indica o tipo de dados das colunas descritas pelas estatísticas.
    Tamanho Exibe o tamanho do tipo de dados para cada coluna.
    Identidade Indica uma coluna de identidade quando marcado.
    Permitir Nulos Indica se a coluna aceita valores nulos.
  6. Na caixa de diálogo Selecionar Colunas, marque a caixa ou caixas de seleção de cada coluna para a qual você deseja criar uma estatística e, em seguida, selecione OK.

  7. Na caixa de diálogo Novas Estatísticas na Tabelatable_name, selecione OK.

Usar o Transact-SQL

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.

    USE AdventureWorks2022;
    GO
    -- Create new statistic object called ContactMail1
    -- on the BusinessEntityID and EmailPromotion columns in the Person.Person table.
    
    CREATE STATISTICS ContactMail1
        ON Person.Person (BusinessEntityID, EmailPromotion);
    GO
    
  4. A estatística criada acima potencialmente melhora os resultados para a consulta seguinte.

    USE AdventureWorks2022;
    GO
    SELECT LastName, FirstName
    FROM Person.Person
    WHERE EmailPromotion = 2
    ORDER BY LastName, FirstName;
    GO
    

Próximas etapas