Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Instância Gerenciada SQL do Azure
Este artigo discute considerações específicas de desempenho quando se utilizam tabelas temporais otimizadas para memória versão do sistema.
Quando você adiciona o controle de versão do sistema a uma tabela não temporal existente, espere um impacto no desempenho nas operações de atualização e exclusão, porque a tabela de histórico é atualizada automaticamente.
Considerações sobre desempenho
Cada atualização e exclusão é registrada em uma tabela de histórico interna otimizada para memória. Pode experienciar um consumo inesperado de memória se a sua carga de trabalho usar muito essas duas operações. Considere o seguinte:
Não execute exclusões maciças da tabela atual em uma única etapa. Considere eliminar os dados em vários lotes, com um descarregamento manual dos dados entre eles, com sp_xtp_flush_temporal_history, ou enquanto
SYSTEM_VERSIONING = OFF.Não faça atualizações massivas de tabelas de uma só vez, pois pode usar o dobro da memória necessária para atualizar uma tabela não otimizada para memória temporal. Este consumo de memória dobrado é temporário, porque a tarefa de escoamento de dados funciona regularmente para manter o consumo de memória das tabelas intermediárias internas dentro dos limites projetados na fase estável. O limite é 10% do consumo de memória da tabela temporal atual. Considere fazer atualizações massivas em vários lotes, ou durante
SYSTEM_VERSIONING = OFF, como usar atualizações para definir padrões para colunas recém-adicionadas.
O período de ativação para a tarefa de esvaziamento de dados não é configurável, mas pode executar sp_xtp_flush_temporal_history manualmente, conforme necessário.
Considere usar o clustered columnstore como opção de armazenamento para uma tabela de histórico baseada em disco, especialmente se planeia executar consultas analíticas em dados históricos que utilizem funções de agregado ou janela. Nesse caso, um índice columnstore clusterizado é uma escolha ideal para sua tabela de histórico. Os índices columnstore clusterizados fornecem uma boa compactação de dados e se comportam de uma maneira fácil de inserir, alinhando-se com a forma como os dados do histórico são gerados.
Conteúdo relacionado
- Tabelas temporais versionadas pelo sistema com tabelas otimizadas para memória
- Crie uma tabela temporal versionada pelo sistema otimizada em termos de memória
- Trabalhe com tabelas temporais otimizadas para memória versionadas pelo sistema
- Monitorizar tabelas temporais versionadas por sistema otimizadas para memória
- Tabelas temporais
- Verificações de consistência do sistema de tabela temporal
- Gerencie a retenção de dados históricos em tabelas temporais versionadas pelo sistema
- Exibições e funções de metadados de tabela temporal