Usamos manutenção de índice ollas com algumas alterações aqui e ali feitas por nossa equipe.
geralmente temos um problema com um banco de dados enorme onde seu índice Alter bloqueia alguns processos. Normalmente é uma reorganização, mesmo que bloqueie algumas tarefas, como bulks por exemplo.
o que podemos fazer para minimizar isso? nob funciona por mais de 24 horas todos os domingos.
Pensei em dividir tabelas, e fazer manutenção de índices em finais de semana separados.
Pensei em um alerta onde isso interromperia o trabalho daquele bloqueio por X minutos (ruim, pois tenho certeza de que nunca será concluído).
Não faça manutenção de índice.
O que você espera alcançar fazendo isso?
É um equívoco comum pensar que a fragmentação do índice é a causa raiz dos problemas de desempenho e que a manutenção do índice é a solução. A fragmentação raramente é a causa de problemas de desempenho. As árvores B ainda são altamente eficazes dentro de um índice, mesmo com grandes quantidades de fragmentação, especialmente hoje em dia quando o disco é um SSD ou NVMe. A fragmentação costumava ser mais importante em discos rígidos mecânicos, mas isso é coisa do passado.
Alguns bons efeitos colaterais da manutenção do índice que podem ajudar a melhorar o desempenho é que ela também invoca estatísticas para atualizar esses índices. E faz com que o cache do plano limpe todos os planos relacionados às tabelas dos índices que foram reconstruídos. Isso é útil quando um plano incorreto para determinadas consultas é acidentalmente armazenado em cache. Isso fará com que o mecanismo de banco de dados compile um novo plano na próxima vez que a consulta for executada, o que pode acabar sendo mais ideal.
O problema é que você pode executar cada uma dessas coisas separadamente, com mais granularidade, em uma taxa que seja mais adequada às suas necessidades.
A outra coisa negativa sobre as reconstruções de índices (além da contenção de recursos, especialmente para índices maiores como os que você está usando), é que ela aumenta o tamanho do banco de dados porque precisa de espaço em disco para reorganizar os dados. E ele cria vários registros de log de transações enquanto faz seu trabalho. A manutenção do índice é um desperdício.
Recapitular