sp_statistics (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
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 a correspondência de padrões curinga.
@table_owner [ = ] N'table_owner'
O nome do proprietário da tabela usada para retornar informações de catálogo. @table_owner é sysname, com um padrão de NULL
. Não há suporte para a correspondência de padrões 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
pertencente ao 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 (if 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 da 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
) solicita que o driver recupere incondicionalmente as estatísticas.Q
(SQL_QUICK
) solicita que o driver recupere 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êmSQL_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. Essa 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 = Único1 = Não exclusivo |
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 igual ao 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 tabela1 = Agrupado2 = Com hash3 = Não agrupado |
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 = AscendenteD = DescendenteNULL = 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) | 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_NAME
, e 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 aos í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ões 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
, , , INDEX_QUALIFIER
INDEX_NAME
, e SEQ_IN_INDEX
TYPE
. Para obter mais informações, consulte a Referência ODBC.
Permissões
Requer a permissão SELECT
no esquema.
Exemplo: Azure Synapse Analytics e PDW (Analytics Platform System)
O exemplo a seguir retorna informações sobre a DimEmployee
tabela do AdventureWorks
banco de dados de exemplo.
EXEC sp_statistics DimEmployee;