none
Pesquiza lenta no SQL obriga a constantes reindexações RRS feed

  • Pergunta

  • Boas pessoal,

    De vez em quando tenho que reindexar as tabelas da minha BD. Sou forçado a reindexar as tabelas, porque ao fazer um select a uma tabela com pouco mais de 500.000 registos esta fica super lenta (demora mais de 2 minutos a listar a tabela completa). De forma a acelarar o select que tinha no meu ERP, criei indices para o campo que me interessava pesquizar, o problema ficou resolvido (a query passou a ser instantânea), só que passado algum tempo volta a ficar super lenta e só reindexando novamente consigo resolver.

    sexta-feira, 6 de setembro de 2013 09:22

Respostas

  • Vejo o seu problema, como a falta de um plano de manutenção.

    Você precisa de tempos em tempos (isso vc deverá avaliar ao seu ambiente) fazer rotinas de atualização das estatisticas e reindexação dos indices. Exemplo, tenho em um ambiente eu sigo a seguinte estratégia:

    - 2º Domingo do Mês: Reindexação/Reorganização dos Indices fragmentados;

    - Semanalmente: Atualização de todas estatísticas com FULLSCAN;

    Qual a minha ideia com esta rotina? Reconstruir os índices muito fragmentados ou apenas reorganiza-los, conforme for necessário, isto apenas uma vês no mês, pois é algo muito pesado para o meu ambiente. Posteriormente, ao longo da semana eu apenas atualizo as estatísticas desses índices com FULL Scan, visando não ter uma degradação do desempenho, que é o seu caso, pois os dados sofrem mudanças e a atualização de estatística irá deixar seu índice ciente de onde estão os dados e manterá o desempenho da sua consulta.

     


    Vithor da Silva e Silva | MCTS - SQL Server 2008, Implementation and Maintenance Site: http://www.vssti.com.br Blog: http://vssti.blogspot.com

    sexta-feira, 6 de setembro de 2013 12:52