none
Fragmentação de Indexes RRS feed

  • Pergunta

  • Prezados,

            Gostaria de saber qual percentual devo me basear se o percentual de fragmentação do indexes está bom ou ruim, na parte de fragmentação do SQL Server tem ( page fullness e total fragmentation ) qual devo observar se o percentual está alto ou não ?


    Bruno Avanso

    terça-feira, 4 de junho de 2013 23:24

Respostas

  • Olá Bruno,

     Tudo certo?
     Veja esse link abaixo que vai te ajudar bastante:
     http://msdn.microsoft.com/en-us/library/ms189858(v=sql.105).aspx

     Como o seguinte select :


     SELECT a.index_id, name, avg_fragmentation_in_percent
     FROM sys.dm_db_index_physical_stats (DB_ID(), OBJECT_ID(N'Production.Product'),
          NULL, NULL, NULL) AS a
         JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id;
     GO

     Você consegue ter uma visão bem bacana sobre a fragmentação dos seus indexes e usando a excelente recomentação feita pelo nosso amigo Junior Galvão, pode as faixa abaixo para saber como proceder com cada indexes :
     30% - 35% -- Taxa aceitável de fragmentação;
     > 35% - 70% -- Taxa de fragmentação prejudicial, requer aplicar rotinas de manutenção;
     >70% -- Taxa de fragmentação alta, obrigatório aplicar rotinas de manutenção.


     Att,
     Justo Daniel
     MCP-MCDTS-MCTS SQL Server 2008

    sexta-feira, 7 de junho de 2013 20:52

Todas as Respostas

  • Olá! Depende muito de como a tabela é acessada para se ter em mente uma margem de ruim ou bom, o importante é sempre manter as rotinas de manutenção, de uma lida nas informações do link abaixo, com ele voce sera capaz de desenvolver algo neste sentido:

    http://www.brentozar.com/archive/2012/08/sql-server-index-fragmentation/

    Abraço!


    André CR / Helped? If the answer is yes mark! If the answer is no, wait a little bit because i'll back! Visit my blog! sqlmagu.blogspot.com.br

    quarta-feira, 5 de junho de 2013 02:29
  • Bruno,

    Por padrão eu costume assumir que se a taxa de fragmentação estiver acima de 35% já estamos com uma taxa considerável, a própria Microsoft indica:

    • 30% - 35% -- Taxa aceitável de fragmentação;
    • > 35% - 70% -- Taxa de fragmentação prejudicial, requer aplicar rotinas de manutenção;
    • >70% -- Taxa de fragmentação alta, obrigatório aplicar rotinas de manutenção.

    Consultando o Books On-Line você terá mais informações.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 5 de junho de 2013 14:26
    Moderador
  • Junior,

             Quando você fala de taxa de fragmentação, qual é o campo que devo me basear, o page fullness ou total fragmentation ?

    Grato


    Bruno Avanso

    quarta-feira, 5 de junho de 2013 17:35
  • Junior,

             Quando você fala de taxa de fragmentação, qual é o campo que devo me basear, o page fullness ou total fragmentation ?

    Grato


    Bruno Avanso


    Bruno Avanso

    quinta-feira, 6 de junho de 2013 21:56
  • Olá Bruno,

     Tudo certo?
     Veja esse link abaixo que vai te ajudar bastante:
     http://msdn.microsoft.com/en-us/library/ms189858(v=sql.105).aspx

     Como o seguinte select :


     SELECT a.index_id, name, avg_fragmentation_in_percent
     FROM sys.dm_db_index_physical_stats (DB_ID(), OBJECT_ID(N'Production.Product'),
          NULL, NULL, NULL) AS a
         JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id;
     GO

     Você consegue ter uma visão bem bacana sobre a fragmentação dos seus indexes e usando a excelente recomentação feita pelo nosso amigo Junior Galvão, pode as faixa abaixo para saber como proceder com cada indexes :
     30% - 35% -- Taxa aceitável de fragmentação;
     > 35% - 70% -- Taxa de fragmentação prejudicial, requer aplicar rotinas de manutenção;
     >70% -- Taxa de fragmentação alta, obrigatório aplicar rotinas de manutenção.


     Att,
     Justo Daniel
     MCP-MCDTS-MCTS SQL Server 2008

    sexta-feira, 7 de junho de 2013 20:52