none
Manutenção de Indices - REBUILD ou REINDEX RRS feed

  • Pergunta

  • Boa Tarde,

    Alguém pode me ajudar nesta duvida...

    Para realizar a manutenção de um indice, qual a melhor forma, utilizando o REBUILD ou REINDEX?

    • Editado ramos_sa sexta-feira, 25 de maio de 2012 20:35
    sexta-feira, 25 de maio de 2012 20:29

Respostas

  • Rafael,

    Em alguns casos, mesmo realizando a desfragmentação do índice pode continuar um pouco fragmentado, dependendo básicamente do momento que foi realizado este procedimento.

    Mas se realmente você deseja forçar a remoção da fragmentação o melhor seria recriar o índice através do Rebuild, partindo do princípio que o mesmo será reconstruído novamente, o que pode em alguns momentos ocasionar uma sobrecarga de processamento.


    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]

    • Marcado como Resposta ramos_sa quinta-feira, 28 de novembro de 2013 11:39
    quarta-feira, 30 de maio de 2012 13:04
    Moderador

Todas as Respostas

  • Rafael,

    Existem diversas análises e cenários que devem ser verificados para se trabalhar com estes recursos, mas de uma forma bem básica, se o índice esta com problemas o mais recomendável é realizar o Rebuild, caso o índice esteja fragmentado o melhor é realizar o Reindex.

    O que você esta querendo fazer?


    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]


    segunda-feira, 28 de maio de 2012 19:36
    Moderador
  • Junior,

    Fiz o levantamento das fragmentações de indices com o SHOWCONTIG e em seguida apliquei o DBCC DESFRAG nos indices, isto resolveu a fragmentação de muitos indices porem alguns se mantiveram fragmentados, neste caso estou com duvida se utilizo o REBUILD , REORGANIZE ou REINDEX?

    quarta-feira, 30 de maio de 2012 01:12
  • Ola' Rafael,

    Esta escolha depende de alguns parâmetros, como o tamanho do índice e o o nível de fragmentação. Deve-se levar em conta também a hora que esta manutenção será feita, pois pode afetar o desempenho.

    O que eu recomendo e' que você de uma olhada neste script (http://blogs.msdn.com/b/blogdoezequiel/archive/2011/07/03/adaptive-index-defrag.aspx#.T8Woh9VYuu8), que faz uma manutenção seletiva de índices, assim, você só ira fazer o necessário.

    E quanto a fragmentação, pode ser considerada normal. Leve sempre em conta o tamanho do índice e da quantidade de escritas na tabela. Se isso for um problema, considere mover os indices para um arquivo dedicado.

    quarta-feira, 30 de maio de 2012 05:01
  • Rafael,

    Em alguns casos, mesmo realizando a desfragmentação do índice pode continuar um pouco fragmentado, dependendo básicamente do momento que foi realizado este procedimento.

    Mas se realmente você deseja forçar a remoção da fragmentação o melhor seria recriar o índice através do Rebuild, partindo do princípio que o mesmo será reconstruído novamente, o que pode em alguns momentos ocasionar uma sobrecarga de processamento.


    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]

    • Marcado como Resposta ramos_sa quinta-feira, 28 de novembro de 2013 11:39
    quarta-feira, 30 de maio de 2012 13:04
    Moderador