Estou familiarizado com o conceito de fragmentação de índice e como corrigi-lo, mas não tenho certeza de um item específico.
Quando você observa a fragmentação do índice, ela sempre é relatada em termos de Percentage .
- De quanto é essa porcentagem?
Será fragmentação lógica para índices e fragmentação de extensão para heaps. A referência BOL na
sys.dm_db_index_physical_stats
verdade fornece informações muito boas sobre o tópico:Pense em um índice, conforme destacado acima, é a "porcentagem de páginas fora de ordem nas páginas folha". Uma página de índice será uma lista duplamente encadeada. Em outras palavras, cada página aponta para a página seguinte e para a página anterior em seu respectivo nível de índice. Aqui está uma imagem de como é uma lista duplamente encadeada (para fins ilustrativos):
Nota: a imagem acima foi retirada aleatoriamente da internet, é uma representação simples. Mas falta
A
o próximo ponteiro de eF
o ponteiro anterior de . Eu não queria nenhuma confusão sobre como seria exatamente uma página folha em um índice do SQL Server.Essa estrutura vai representar o fluxo lógico dos dados. Em outras palavras, qual página vem a seguir, independentemente de qual seja a realidade física. Essa fragmentação lógica entra em jogo quando a próxima página física real não é o que a próxima página é apontada pela página folha atual.
Dada a definição acima, digamos que você tenha quatro páginas de índice. 1 de 4 dessas páginas de índice o ponteiro da próxima página não é a página física próxima a ela, mas as outras 3 têm essa natureza física. Nesse caso, sua porcentagem de fragmentação seria de 25%. Claro, esse foi um exemplo simples e, na realidade, você não se importaria com um índice menor que milhares de páginas. Mas espero que isso deixe um pouco mais claro exatamente o que esse número representa.
Aqui estão algumas boas leituras sobre Estruturas de Índice Clustered , Estruturas de Índice Nonclustered e Estruturas de Heap .
Encontrei a resposta em outro lugar na Internet, cortesia de Grant Fritchey.
"Quando você olha para a porcentagem de fragmentação, você está olhando para a fragmentação externa. Significa a porcentagem de páginas que estão fora de ordem mostrando um mecanismo de armazenamento ineficiente."
http://ask.sqlservercentral.com/questions/6505/what-is-index-fragmentation-actually.html
Portanto, é quantas páginas do total estão fora de ordem.