O FILLFACTOR é a Definição de quanto o nível folha de um índice será preenchida quando criamos ou recriamos um índice. Podemos especificar 100% de FILLFACTOR, isso quer dizer que todo o nível folha do índice será preenchido, podemos também especificar 80%, que quer dizer que, 20% de cada página de dados no nível folha não será preenchida ou seja ficará livre. Podemos escolher a porcentagem de 0 – 100% e isso irá dizer como o índice irá se comportar.
O opção FILLFACTOR só se aplica para o nível folha de um índice ou seja (LEAF), a porcentagem especificada não será aplicada nem no nível intermediário e nem no nível raiz da B-Tree (Árvore Balanceada), para essa configuração de preenchimento em nível intermediário e nível raiz utilizamos o PAD_INDEX.
A configuração da quantidade de FILLFACTOR ou seja Fator de Preenchimento pode ser aplicada diretamente na criação do índice e em nível instância do banco de dados, sendo que se especificada na instância do SQL Server, todos os índices que forem criados sem ser especificado o FILLFACTOR, será criado com o valor especificado por padrão da instância.
A fragmentação do índice ocorre porque quando há muitos PAGE SPLITS ou seja a divisão das páginas o SQL Server ao adicionar novas páginas não realiza a organização dos dados, sendo assim quanto mais PAGE SPLITS tivermos mais nossos dados ficaran “desorganizados”, fazendo com que cada vez mais o acesso aos dados fique mais difícil.
Para esse problema temos duas soluções:
Realização de REORGANIZE do Índice – Quando a porcentagem de fragmentação é menor ou igual à 15% Realização de REBUILD do Índice – Quando a porcentagem de fragmentação é maior que 30%
Realização de REORGANIZE do Índice – Quando a porcentagem de fragmentação é menor ou igual à 15%
Realização de REBUILD do Índice – Quando a porcentagem de fragmentação é maior que 30%
Sendo que a grande diferença entre eles é que o REORGANIZE realiza a desfragmentação somente o nível folha, enquanto o REBUILD desfragmenta todos os níveis da B-Tree.
Mais como sabemos dessa fragmentãção?
Podemos utilizar a DM’V’s (Dynamic Management View’s)
SELECT *
Flávio Honda edited Revision 1. Comment: alteração toc,espaçamento em branco
Luan.Moreno - SQL Soul edited Original. Comment: TOC