segunda-feira, 13 de fevereiro de 2017

Algumas Considerações Sobre Operações de Índice Online (SQL Server)

Recentemente eu trabalhei em algumas situações envolvendo alto uso de recursos especificamente CPU e espaço em disco durante a execução de operações de REBUILD INDEX com opção de ONLINE = ON .

Diante desse tipo de cenário realizei algumas pesquisas e separei as seguintes considerações:

A opção de ONLINE = ON por padrão vai fazer com que o uso de recursos para transações de INSERT, UPDATE e DELETE aumente muito, e podemos esperar que o incremento no uso de recursos aumente potencialmente até o dobro.


Esse aumento de utilização ocorre porque a estrutura original dos índices é mantida enquanto a nova é criada isso aumenta principalmente o uso de tempo de CPU além do aumento do uso de espaço em disco pelo arquivo de log de transação sabendo que começando com o SQL Server 2008 o processo de REBUILD INDEX com opção de ONLINE = ON passou a ser uma operação totalmente registrada no log de transação (fully logged). Uma outra consideração  fica para o fato de que o SQL Server usa espaço em disco adicional para armazenamento temporário do índice de mapeamento que é usado durante a operação online para executar modificações em índices "clusterizados".


Informações Adicionais
https://msdn.microsoft.com/en-us/library/ms190981(v=sql.110).aspx

Nenhum comentário:

Postar um comentário