Fazer uma PerguntaFazer uma Pergunta
 

RespondidoTabela não desfragmenta.

  • segunda-feira, 26 de outubro de 2009 18:45Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Boa tarde,

    Tenho algumas tabelas na minha base que estão com avg_fragmentation_in_percent acima de 25%, por exemplo 66% e eu queria diminuir esse valor, porem não consigo. Os indices são Clusterizados. Algum motivo para esse valor não baixar mesmo eu tentando usar Rebuild, DBReindex ou o Indexdefrag?

    Abs.

Respostas

  • terça-feira, 27 de outubro de 2009 11:07Junior Galvão - MVPMVP, ModeradorMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Kezan,

    Quanto maior o fillfactor maior a possibilidade de fragmentação!!!

    Como você realizou esta verificação da fragmentação?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como RespostaKezan quarta-feira, 28 de outubro de 2009 11:21
    •  
  • terça-feira, 27 de outubro de 2009 22:00Laerte Junior Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido

    Kezan,

    quantas páginas tem os índices ?

    Use a DMV sys.dm_db_index_physical_stats pra visualizar esta informação. Coluna PageCount

    select *
    from sys.dm_db_index_physical_stats(DB_ID(),OBJECT_ID('SUATABELA'),null,null,'detailed')


    Se tiver menos que 1000 paginas, não se preocupe. O Engine  não se dará o trabalho de desfragmentar pois abaixo disso provavelmente ele estará inteiro em cache e então a fragmentação é irrelevante.

    Da uma olhadinha..

    Já rodei rebuild mas meu índice não desfragmenta !!!!

    • Marcado como RespostaKezan quarta-feira, 28 de outubro de 2009 11:20
    •  

Todas as Respostas

  • segunda-feira, 26 de outubro de 2009 21:15Anderson.dpa Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Boa noite

    Não sei o seu caso, mas pode ser necessário você ter que alterar o FillFactor para estas tabelas




    Espero ter ajudado
    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
  • terça-feira, 27 de outubro de 2009 11:04Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Meu Fillfactor esta com 80%.

    Abs.
  • terça-feira, 27 de outubro de 2009 11:07Junior Galvão - MVPMVP, ModeradorMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Kezan,

    Quanto maior o fillfactor maior a possibilidade de fragmentação!!!

    Como você realizou esta verificação da fragmentação?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como RespostaKezan quarta-feira, 28 de outubro de 2009 11:21
    •  
  • terça-feira, 27 de outubro de 2009 11:17Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     

    Eu utilizei o sys.dm_db_index_physical_stats.

    Abs.

  • terça-feira, 27 de outubro de 2009 11:26Fausto F. Branco Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Porem se deixa muito baixo você pode perder performance.... FillFactor é MUITO chato....

    Aqui eu tenho algumas tabelas com fragmentação muito alta que qualquer hora eu largo mão.

    No mais, utilizo um metodo "semi-automatizado" p/ calcular o FF individual com base na progressão individual das tabelas nos ultimos 3 meses e pronto...




    Tks. Fausto Fiorese Branco DBA - SQL Server 2k5 São Paulo - Brasil * http://dba-sqlserver.blogspot.com/
  • terça-feira, 27 de outubro de 2009 11:31Junior Galvão - MVPMVP, ModeradorMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Kezan,

    Entendi!!!!

    Antes de qualquer processo de reindexação ou desfragmentação, poderia tentar atualizar as estatísticas destes índices.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
  • terça-feira, 27 de outubro de 2009 11:31Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Eu tentei baixar o FF para 30% como um teste, mas parece q ficou pior rsrs.

    Vc tem algum procedimento para forçar a baixar essa fragmentação?

    abs.
  • terça-feira, 27 de outubro de 2009 11:32Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Eu tentei fazer isso mas ficou igual, talvez essas tabelas estejam doidas rsrs.

    Abs.
  • terça-feira, 27 de outubro de 2009 11:50Junior Galvão - MVPMVP, ModeradorMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Kezan,

    Bom, vamos lá.

    Baixar o fill factor pode tornar o processo de inserção de dados como também algumas consultas e esta table extremamente lenta!!!!

    A questão é que temos que procurar identificar o que possivelmente pode estar gerando esta fragmentação.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
  • terça-feira, 27 de outubro de 2009 12:01Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Eu tentei recriar para testar, mas continuou igual. Pode ser que eu esteja fazendo algo de errado, mas tentei de todas as formas que eu conheço.

    Abs.
  • terça-feira, 27 de outubro de 2009 22:00Laerte Junior Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido

    Kezan,

    quantas páginas tem os índices ?

    Use a DMV sys.dm_db_index_physical_stats pra visualizar esta informação. Coluna PageCount

    select *
    from sys.dm_db_index_physical_stats(DB_ID(),OBJECT_ID('SUATABELA'),null,null,'detailed')


    Se tiver menos que 1000 paginas, não se preocupe. O Engine  não se dará o trabalho de desfragmentar pois abaixo disso provavelmente ele estará inteiro em cache e então a fragmentação é irrelevante.

    Da uma olhadinha..

    Já rodei rebuild mas meu índice não desfragmenta !!!!

    • Marcado como RespostaKezan quarta-feira, 28 de outubro de 2009 11:20
    •  
  • quarta-feira, 28 de outubro de 2009 11:20Kezan Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    As paginas estão bem abaixo de 1000, as unicas que estão bem altas são os HEAPs, mas esse não estou considerando pela falta dos indices.

    Agora estou  mais tranquilo.

    Abs.