Rebuild não zera a fragmentação ?

Fala galera, hoje vou falar de um caso muito legal, muita gente já passou por isso e as vezes não soube o porque de acontecer esse fenômeno, em algum momento você deve ter encontrado índices bem fragmentados em seu ambiente, fragmentações como 99% fragmentado e após ao rodar a rotina de Rebuild ele ficou com 70% ainda, um numero alto para fragmentação de índice, e você rodou novamente o rebuild desse índice e ele foi para 80%, rodou novamente ele foi para 65%, um tanto quanto estranho não acha ?

Bom a resposta pra isso provavelmente vai ser que esse índice é bem pequeno, mas pequeno quanto?

Para isso precisamos entender um pouco das estruturas internas do SQL Server, conhecer um pouco sobre Extents, páginas de controle GAM, SGAM, IAM e PFS. Continuar lendo

Anúncios

Estruturas Internas – Allocation Units

Fala pessoal, hoje vamos continuar na serie de estruturas internas, no ultimo post falei sobre as duas formas de organização de uma tabela Heap or BTree(HOBT), hoje vamos falar sobre as unidades de alocações(Allocation Units).

No ultimo post falei que uma tabela pode estar estruturada no modelo HEAP ou Clustered Index (BTree), as unidades de alocações são utilizadas para gerenciar os dados dentro das estruturas HEAP ou BTree, as unidades de alocações dividem os dados de acordo com seu tipo em suas respectivas paginas, podendo ser dividida em três tipos de alocação:

  • IN_ROW_DATA
  • LOB_DATA
  • ROW_OVERFLOW_DATA

Continuar lendo

Estruturas internas – HOBT

Fala galera, hoje quero iniciar uma serie de posts sobre estruturas internas do SQL Server, bom pra iniciar essa serie quero falar sobre HOBT, para você que já brinca bastante com SQL Server em algum momento já deve ter visto ou escutado falar sobre esse termo, e se você ainda não conhece vai conhecer agora.

HOBT (Não tem relação com ‘The Hobbit’ o filme rs) é um acrônimo para Heap or BTree que são estruturas de dados composta por paginas de dados.

Quando falamos de Heap estamos falando de uma tabela sem índice Cluster, onde não temos ordenação de dados, as paginas são mapeadas pela IAM(Index Allocation Map) e são lidas na ordem de alocação.

Continuar lendo