Skip to content

Detectando a fragmentação lógica de índices

11/10/2011

A fragmentação ocorre por meio de modificações de dados com as instruções INSERT, UPDATE e DELETE feitas na tabela e, portanto, nos índices definidos na tabela.

É possível identificar os índices mais fragmentados logicamente usando a sys.dm_db_index_physical_stats

Efetuando uma consulta nessa exibição, teremos a fragmentação lógica dos índices, indicando a porcentagem de entradas no índice que estão fora de ordem.
Essa fragmentação lógica afeta qualquer varredura de classificação que use um índice, recomenda-se remover a fragmentação sempre que possível, com a recompilação ou reorganização do índice.

SELECT 
  object_name(V.object_id) as Tabela, 
  I.name as NomeIndice, 
  ROUND(V.avg_fragmentation_in_percent,2) as [Fragmentacao %]
FROM sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID('dbo.Pessoa'), NULL, NULL, NULL) V
LEFT JOIN sys.indexes I ON V.object_id = I.object_id and I.index_id = V.index_id 

Fonte: http://msdn.microsoft.com/pt-br/magazine/cc135978.aspx

Anúncios

From → Transact-SQL

Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: