Vamos implementar um mecanismo para controlar as alterações em nosso banco de dados de aplicativos do SQL Server 2008. Os programadores estão preocupados com o impacto negativo da velocidade do INSERT, por isso decidi testar três casos: nenhum mecanismo para rastrear alterações, rastreamento de alterações e Change Data Capture (CDC) .
Em todos os meus testes, parece não haver diferença significativa na velocidade dos INSERTs. Isso faz sentido? Quero ter certeza de que não estou negligenciando nada antes de remover essa preocupação de nossa lista de requisitos.
(Nota: meus testes mostraram diferenças com UPDATES, mas estamos preocupados apenas com INSERTS)
EDIT: Meus testes foram INSERTS relativamente simples em uma tabela de produção, mas 250K deles. Os processos duraram mais de 5 minutos, então estou confortável, foi o suficiente para o nosso ambiente.
Sim, faz sentido, o CDC é mantido por meio de um leitor de log, que, além da sobrecarga das leituras na unidade de log e das gravações nas tabelas de captura, não deve afetar a taxa de inserção. Eles estão pensando em (à moda antiga :)) rastrear por meio de gatilhos, o que pode afetar facilmente a taxa de inserção.
Mas, por segurança, certifique-se de que seus testes sejam executados por tempo suficiente para que a sobrecarga do leitor capture ativamente as inserções.