Compartilhar via


sys.dm_db_xtp_hash_index_stats (Transact-SQL)

Essas estatísticas são úteis para entender e ajustar o número de buckets. Também pode ser usado para detectar os casos em que a chave de índice tem muitas duplicatas.

Um grande comprimento de cadeia média indica que várias linhas recebem o hash para o mesmo bucket. Isso pode acontecer porque:

  • Se o número de buckets vazios for baixo ou os comprimentos de cadeia média e máxima forem semelhantes, é provável que o número total de buckets seja muito baixo. Isso faz as chaves de índice diferentes receberem o hash para o mesmo bucket.

  • Se o número de buckets vazios for alto ou o comprimento máximo da cadeia for alto em relação ao comprimento de cadeia médio, é provável que haja várias linhas com valores de chave duplicados de índice ou haja uma distorção nos valores de chave. Todas as linhas com o mesmo valor de chave de índice recebem hash para o mesmo bucket; portanto, há um comprimento de cadeia longo nesse bucket.

Os comprimentos de cadeia longos podem afetar significativamente o desempenho de todas as operações DML em linhas individuais, incluindo SELECT e INSERT. Os comprimentos de cadeias curtas com um número alto de buckets vazios estão na indicação de um bucket_count que seja muito alto. Isso diminui o desempenho de verificações de índice.

sys.dm_db_xtp_hash_index_stats verifica toda a tabela. Assim, se houver grandes tabelas em seu banco de dados, sys.dm_db_xtp_hash_index_stats pode realizar uma execução de longo prazo.

Para obter mais informações, consulte Determinando o número de buckets correto para índices de hash não clusterizados.

Aplica-se a: SQL Server (do SQL Server 2014 à versão atual).

Nome da coluna

Tipo

Descrição

object_id

int

A ID de objeto da tabela pai.

index_id

int

A ID do índice.

total_bucket_count

bigint

O número total de buckets de hash no índice.

empty_bucket_count

bigint

O número de bucket de hash vazio no índice.

avg_chain_length

bigint

O comprimento médio das cadeias de linha em todos os buckets de hash no índice.

max_chain_length

bigint

O comprimento máximo de cadeias de linha nos buckets de hash.

Permissões

Requer a permissão VIEW DATABASE STATE no servidor.

Consulte também

Conceitos

Exibições de gerenciamento dinâmico da tabela com otimização de memória (Transact-SQL)