sp_statistics (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Retorna uma lista de todos os índices e estatísticas em uma tabela especificada ou exibição indexada.

Convenções de sintaxe de Transact-SQL

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

Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Argumentos

[ @table_name = ] N'table_name'

Especifica a tabela usada para retornar informações do catálogo. @table_name é sysname, sem padrão. Não há suporte para correspondência de padrão curinga.

@table_owner [ = ] N'table_owner'

O nome do proprietário da tabela usado para retornar informações do catálogo. @table_owner é sysname, com um padrão de NULL. Não há suporte para correspondência de padrão curinga. Se owner não for especificado, as regras de visibilidade de tabela padrão do DBMS (sistema de gerenciamento de banco de dados) subjacente serão aplicadas.

No SQL Server, se o usuário atual possuir uma tabela com o nome especificado, os índices dessa tabela serão retornados. Se owner não for especificado e o usuário atual não possuir uma tabela com o especificado name, este procedimento procurará uma tabela com o especificado name de propriedade do proprietário do banco de dados. Caso exista, os índices da tabela serão retornados.

@table_qualifier [ = ] N'table_qualifier'

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

@index_name [ = ] N'index_name'

O nome do índice. @index_name é sysname, com um padrão de %. Há suporte para a correspondência do padrão curinga.

@is_unique [ = ] 'is_unique'

Se apenas índices exclusivos (se Y) devem ser retornados. @is_unique é char(1), com um padrão de string vazia.

@accuracy [ = ] 'precisão'

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

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

  • Q (SQL_QUICK ) pede ao driver para recuperar a cardinalidade e as páginas, somente se elas estiverem prontamente disponíveis no servidor. Nesse caso, o driver não garante que os valores sejam atuais. Os aplicativos gravados no padrão Open Group sempre obtêm SQL_QUICK comportamento de drivers compatíveis com ODBC 3.x.

Conjunto de resultados

Nome da coluna Tipo de dados Descrição
TABLE_QUALIFIER sysname Nome do qualificador de tabela. Esta coluna pode ser NULL.
TABLE_OWNER sysname O nome do proprietário da tabela. Esta coluna sempre retorna um valor.
TABLE_NAME sysname Nome da tabela. Esta coluna sempre retorna um valor.
NON_UNIQUE smallint Não permite valor nulo.

0 = Único
1 = Não é único
INDEX_QUALIFIER sysname Nome do proprietário do índice. Alguns produtos DBMS permitem que outros usuários, que não o proprietário da tabela, criam índices. No SQL Server, essa coluna é sempre a mesma que TABLE_NAME.
INDEX_NAME sysname O nome do índice. Esta coluna sempre retorna um valor.
TYPE smallint Esta coluna sempre retorna um valor:

0 = Estatísticas de uma tabela
1 = Agrupado
2 = Hashed
3 = Não agrupados
SEQ_IN_INDEX smallint Posição da coluna dentro do índice.
COLUMN_NAME sysname Nome da coluna para cada coluna do TABLE_NAME retornado. Esta coluna sempre retorna um valor.
COLLATION char(1) Ordem usada na ordenação. Pode ser:

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

Valores do código de retorno

Nenhum.

Comentários

Os índices no conjunto de resultados aparecem em ordem crescente pelas colunas NON_UNIQUE, TYPE, INDEX_NAMEe SEQ_IN_INDEX.

O tipo de índice clusterizado se refere a um índice no qual são armazenados dados de tabela na ordem do índice. Esse valor corresponde a índices clusterizados do SQL Server.

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

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

Permissões

Requer a permissão SELECT no esquema.

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

O exemplo a seguir retorna informações sobre a DimEmployee tabela do banco de dados de AdventureWorks exemplo.

EXEC sp_statistics DimEmployee;