sp_statistics (Transact-SQL)
Retorna uma lista de todos os índices e estatísticas em uma tabela especificada ou exibição indexada.
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.
Consulte também