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