sp_statistics (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_statistics [ @table_name = ] 'table_name'  
          [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
          [ , [ @index_name = ] 'index_name' ] 
     [ , [ @is_unique = ] 'is_unique' ]
     [ , [ @accuracy = ] 'accuracy' ]

Argumentos

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

  • [ @table_owner= ] 'owner'
    É o nome do proprietário da tabela usada para retornar informações de catálogo. table_owner é sysname, com um padrão NULL. Não há suporte para a correspondência de padrão curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de tabela padrão do DBMS subjacente.

    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 estiver especificado e o usuário atual não possuir uma tabela com name especificado, este procedimento procurará uma tabela com name especificado, pertencente ao proprietário do banco de dados. Caso exista, os índices da tabela serão retornados.

  • [ @table_qualifier= ] 'qualifier'
    É o nome do qualificador de tabela. qualifier é sysname, com um padrão NULL. Vários produtos de DBMS dão suporte à nomeação de três partes de tabelas (qualificador**.proprietário.**nome). No SQL Server, esse parâmetro representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela.

  • [ @index_name= ] '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'
    Define se apenas índices exclusivos (se Y) serão retornados. is_unique é char(1), com um padrão de N.

  • [ @accuracy= ] 'accuracy'
    É o nível de cardinalidade e exatidão de página para estatísticas. accuracy é char(1), com um padrão de Q. Especifique E para ter certeza de que as estatísticas são atualizadas de forma que a cardinalidade e as páginas estejam precisas.

    O valor E (SQL_ENSURE) solicita ao driver que recupere as estatísticas incondicionalmente.

    O valor Q (SQL_QUICK) solicita ao driver que só recupere a cardinalidade e as páginas somente se elas estiverem prontamente disponíveis no servidor. Nesse caso, o driver não assegura que os valores são atuais. Aplicativos escritos em padrão Open Group sempre obterão o comportamento SQL_QUICK de drivers ODBC compatíveis com 3.x.

Conjuntos 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

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

NOT NULL.

0 = Exclusivo

1 = Não exclusivo

INDEX_QUALIFIER

sysname

Nome do proprietário do índice. Alguns produtos de DBMS permitem aos usuários, que não o proprietário da tabela, a criação de índices. No SQL Server, esta coluna é sempre igual a 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 para uma tabela

1 = Clusterizado

2 = Com hash

3 = Não-clusterizado

SEQ_IN_INDEX

smallint

Posição da coluna no índice.

COLUMN_NAME

sysname

Nome de cada coluna de TABLE_NAME retornado. Esta coluna sempre retorna um valor.

COLLATION

char(1)

Ordem usada no agrupamento. Pode ser:

A = Crescente

D = Decrescente

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 de 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. Isso corresponde a SQL Serveríndices clusterizados.

O tipo de índice em hash aceita pesquisas de correspondência e de intervalo exatas, mas pesquisas de correspondência padrão não usam o índice.

sp_statistics é equivalente a SQLStatistics em ODBC. Os resultados retornados são ordenados por NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAMEe SEQ_IN_INDEX. Para obter mais informações, consulte ODBC API Reference.

Permissões

Requer a permissão SELECT no esquema.