Partilhar via


sp_statistics (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Devolve uma lista de todos os índices e estatísticas numa tabela ou vista indexada especificada.

Transact-SQL convenções de sintaxe

Sintaxe

sp_statistics
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] 'is_unique' ]
    [ , [ @accuracy = ] 'accuracy' ]
[ ; ]

Observação

Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.

Arguments

[ @table_name = ] N'table_name'

Especifica a tabela utilizada para devolver a informação do catálogo. @table_name é sysname, sem padrão. A correspondência de padrões coringa não é suportada.

[ @table_owner = ] N'table_owner'

O nome do proprietário da tabela era usado para devolver a informação do catálogo. @table_owner é sysname, com o padrão de NULL. A correspondência de padrões coringa não é suportada. Se owner não for especificado, aplicam-se as regras padrão de visibilidade de tabelas do sistema de gestão de bases de dados (SGBD) subjacente.

No SQL Server, se o utilizador atual possuir uma tabela com o nome especificado, os índices dessa tabela são devolvidos. Se owner não for especificado e o utilizador atual não possuir uma tabela com o especificado name, este procedimento procura uma tabela com o especificado name pertencente ao proprietário da base de dados. Se existir um, os índices dessa tabela são devolvidos.

[ @table_qualifier = ] N'table_qualifier'

O nome do qualificador da tabela. @table_qualifier é sysname, com um padrão de NULL. Vários produtos SGBD suportam a nomenclatura em três partes para tabelas (<qualifier>.<owner>.<name>). No SQL Server, este parâmetro representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados da tabela.

[ @index_name = ] N'index_name'

O nome do índice. @index_name é sysname, com um padrão de %. É suportada a correspondência de padrões wildcard.

[ @is_unique = ] 'is_unique'

Se apenas os índices únicos (se Y) devem ser devolvidos. @is_unique é char(1), com o padrão de cadeia vazia.

[ @accuracy = ] 'precisão'

O nível de cardinalidade e a precisão da página para estatísticas. @accuracy é char(1), com um padrão de Q. Especifique E garantir que as estatísticas são atualizadas para que a cardinalidade e as páginas sejam precisas.

  • E (SQL_ENSURE) pede ao condutor que recupere incondicionalmente as estatísticas.

  • Q (SQL_QUICK) pede ao driver que recupere a cardinalidade e as páginas, apenas se estiverem prontamente disponíveis no servidor. Neste caso, o driver não garante que os valores estão atuais. As aplicações que são escritas para o padrão Open Group obtêm SQL_QUICK sempre comportamento de drivers compatíveis com ODBC 3.x.

Conjunto de resultados

Nome da coluna Tipo de dados Description
TABLE_QUALIFIER sysname Nome do qualificador da tabela. Esta coluna pode ser NULL.
TABLE_OWNER sysname Nome do dono da mesa. Esta coluna devolve sempre um valor.
TABLE_NAME sysname Nome da tabela. Esta coluna devolve sempre um valor.
NON_UNIQUE smallint Não anulável.

0 = Único
1 = Não único
INDEX_QUALIFIER sysname Nome do proprietário do índice. Alguns produtos de SGBD permitem que utilizadores que não sejam o proprietário da tabela criem índices. No SQL Server, esta coluna é sempre a mesma que TABLE_NAME.
INDEX_NAME sysname O nome do índice. Esta coluna devolve sempre um valor.
TYPE smallint Esta coluna devolve sempre um valor:

0 = Estatísticas para uma tabela
1 = Agrupados
2 = Hashado
3 = Não agrupado
SEQ_IN_INDEX smallint Posição da coluna dentro do índice.
COLUMN_NAME sysname Nome da coluna para cada coluna do TABLE_NAME devolvido. Esta coluna devolve sempre um valor.
COLLATION char(1) A ordem usada na colação. Pode ser:

A = Ascendente
D = Descendente
NULL = Não aplicável
CARDINALITY int Número de linhas na tabela ou valores únicos no índice.
PAGES int Número de páginas para armazenar o índice ou tabela.
FILTER_CONDITION Varchar(128) O SQL Server não devolve um valor.

Valores de código de retorno

Nenhum.

Observações

Os índices no conjunto de resultados aparecem por ordem crescente pelas colunas NON_UNIQUE, TYPE, INDEX_NAME, e SEQ_IN_INDEX.

O tipo de índice agrupado refere-se a um índice onde os dados das tabelas são armazenados pela ordem do índice. Este valor corresponde a índices agrupados do SQL Server.

O tipo de índice Hashed aceita pesquisas por correspondência exata ou intervalo, mas as pesquisas de correspondência de padrões não usam o índice.

O sp_statistics procedimento armazenado do sistema é equivalente ao SQLStatistics ODBC. Os resultados devolvidos são ordenados por NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, e SEQ_IN_INDEX. Para mais informações, consulte a Referência ODBC.

Permissions

Requer SELECT permissão no esquema.

Exemplo: Azure Synapse Analytics and Analytics Platform System (PDW)

O exemplo seguinte devolve informação sobre a DimEmployee tabela da AdventureWorks base de dados de exemplo.

EXECUTE sp_statistics DimEmployee;