sys.sysindexes (Transact-SQL)

Aplica-se a: SQL Server

Contém uma linha para cada índice e tabela na base de dados atual. Os índices XML não são suportados nesta perspetiva. Tabelas e índices particionados não são totalmente suportados nesta visão; Use antes a vista de catálogo sys.indexes .

Importante

Esta tabela do sistema SQL Server 2000 está incluída como uma vista para compatibilidade retroativa. Recomendamos que utilize as vistas atuais do sistema SQL Server. Para encontrar a vista ou vistas equivalentes do sistema, veja Mapear Tabelas do Sistema para Vistas do Sistema (Transact-SQL). Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.

Nome da coluna Tipo de dados Description
id int ID da tabela à qual pertence o índice.
status int Informação sobre o estado do sistema.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
first binário(6) Apontar para a primeira página ou página raiz.

Não utilizado quando indid = 0.

NULL = O índice é particionado quando indid> 1.

NULL = A tabela é particionada quando indid é 0 ou 1.
Indid smallint ID do índice:

0 = Pilha

1 = Índice agrupado

>1 = Índice não agrupado
raiz binário(6) Para indid>= 1, raiz é o ponteiro para a página raiz.

Não utilizado quando indid = 0.

NULL = O índice é particionado quando indid> 1.

NULL = A tabela é particionada quando indid é 0 ou 1.
minlen smallint Tamanho mínimo de uma carreira.
keycnt smallint Número de chaves.
groupid smallint ID de grupo de ficheiros sobre o qual o objeto foi criado.

NULL = O índice é particionado quando indid> 1.

NULL = A tabela é particionada quando indid é 0 ou 1.
dpages int Para indid = 0 ou indid = 1, dpages é a contagem de páginas de dados utilizadas.

Para indid> 1, dpages é a contagem de páginas de índice utilizadas.

0 = O índice é particionado quando indid> 1.

0 = A tabela é particionada quando o indid é 0 ou 1.

Não produz resultados precisos se ocorrer o excesso de linhas.
reservado int Para indid = 0 ou indid = 1, reservado é a contagem de páginas alocadas para todos os índices e dados de tabelas.

Para o indid> 1, reservado é o número de páginas atribuídas ao índice.

0 = O índice é particionado quando indid> 1.

0 = A tabela é particionada quando o indid é 0 ou 1.

Não produz resultados precisos se ocorrer o excesso de linhas.
Usado int Para indid = 0 ou indid = 1, utiliza-se a contagem do total de páginas utilizadas para todos os dados de índice e tabela.

Para o indid> 1, usado é a contagem de páginas usadas para o índice.

0 = O índice é particionado quando indid> 1.

0 = A tabela é particionada quando o indid é 0 ou 1.

Não produz resultados precisos se ocorrer o excesso de linhas.
rowcnt bigint Contagem de linhas ao nível dos dados baseada em indid = 0 e indid = 1.

0 = O índice é particionado quando indid> 1.

0 = A tabela é particionada quando o indid é 0 ou 1.
rowmodctr int Conta o número total de linhas inseridas, eliminadas ou atualizadas desde a última vez que as estatísticas foram atualizadas para a tabela.

0 = O índice é particionado quando indid> 1.

0 = A tabela é particionada quando o indid é 0 ou 1.

No SQL Server 2005 (9.x) e posteriores, rowmodctr não é totalmente compatível com versões anteriores. Para obter mais informações, consulte Observações.
reservado3 int Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
reservada4 int Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
xmaxlen smallint Tamanho máximo de uma linha
Maxirow smallint Tamanho máximo de uma fileira não indexada na folha.

No SQL Server 2005 (9.x) e posteriores, o maxirow não é totalmente compatível com versões anteriores.
OrigFillFactor tinyint Valor original do fator de preenchimento usado quando o índice foi criado. Este valor não é mantido; No entanto, pode ser útil se tiver de recriar um índice e não se lembrar do valor do fator de preenchimento que foi usado.
StatVersion tinyint Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
reservado2 int Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
FirstIAM binário(6) NULL = O índice é particionado.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
impid smallint Flag de implementação do índice.

Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
Bandeiras de bloqueio smallint Usado para restringir as granularidades consideradas de bloqueio para um índice. Por exemplo, para minimizar o custo de bloqueio, uma tabela de consulta essencialmente apenas de leitura poderia ser configurada para fazer apenas bloqueio ao nível da tabela.
pgmodctr int Retorna 0.

Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
Teclas Varbinary(816) Lista dos IDs das colunas que compõem a chave de índice.

Devolve NULL.

Para mostrar as colunas de chaves de índice, use sys.sysindexkeys.
name sysname Nome do índice ou estatística. Devolve NULL quando indid = 0. Modifica a tua aplicação para procurar um nome de pilha NULL.
statblob image Estatística de objeto grande binário (BLOB).

Devolve NULL.
maxlen int Identificado apenas para fins informativos. Não suportadas. A compatibilidade futura não é garantida.
linhas int Contagem de linhas ao nível dos dados baseada em indid = 0 e indid = 1, e o valor é repetido para indid>1.

Observações

Colunas definidas como reservadas não devem ser usadas.

As colunas dpages, reserved e used não devolverão resultados precisos se a tabela ou índice contiver dados na unidade de alocação ROW_OVERFLOW. Além disso, as contagens de páginas para cada índice são acompanhadas separadamente e não são agregadas para a tabela base. Para visualizar contagens de páginas, use as visualizações de catálogo sys.allocation_units ou sys.partitions , ou a vista de gestão dinâmica sys.dm_db_partition_stats .

No SQL Server 2000 e anteriores, o Database Engine mantinha contadores de modificação ao nível das linhas. Tais contadores são agora mantidos ao nível da coluna. Assim, a coluna rowmodctr é calculada e produz resultados semelhantes aos resultados das versões anteriores, mas que não são exatos.

Se usar o valor em rowmodctr para determinar quando atualizar estatísticas, considere as seguintes soluções:

  • Não faça nada. O novo valor rowmodctr ajuda-te frequentemente a determinar quando atualizar estatísticas porque o comportamento é razoavelmente próximo dos resultados das versões anteriores.

  • Usa AUTO_UPDATE_STATISTICS. Para mais informações, veja Estatística.

  • Use um limite de tempo para determinar quando atualizar as estatísticas. Por exemplo, a cada hora, todos os dias ou todas as semanas.

  • Utilize informação ao nível da aplicação para determinar quando atualizar as estatísticas. Por exemplo, sempre que o valor máximo de uma coluna identidade muda em mais de 10.000, ou sempre que é realizada uma operação de inserção em massa.