Partilhar via


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ópico Convenções da 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 do 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 do catálogo. table_owner é sysname, com o padrão de 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 o name especificado, esse procedimento procurará uma tabela com o 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 da tabela. qualifier é sysname, com um padrão de NULL. Vários produtos DBMS oferecem suporte à nomeação de três partes de tabelas (qualifier**.owner.**name). 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 o 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 o padrão de N.

  • [ @accuracy= ] 'accuracy'
    É o nível de cardinalidade e exatidão de página para estatísticas. accuracy é char(1), com o 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. Essa 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, criarem í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 de 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 do 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 índices clusterizados do SQL Server.

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.

Consulte também

Referência

procedimentos armazenados do catálogo (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)