Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
da Instância Gerenciada de SQL do Azure
Este artigo discute considerações específicas de desempenho quando você usa tabelas temporais otimizadas para memória versionadas para sistema.
Quando você adiciona controle de versão a uma tabela não temporal existente, espere um impacto de 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 com otimização de memória interna. Você pode experimentar um consumo inesperado de memória se sua carga de trabalho usar muito essas duas operações. Considere o seguinte:
Não execute exclusões massivas da tabela atual em uma mesma etapa. Considere excluir dados em vários lotes, com uma limpeza de dados invocada manualmente entre eles, com sp_xtp_flush_temporal_history, ou enquanto
SYSTEM_VERSIONING = OFF.Não realize atualizações massivas de tabelas de uma vez, pois ela pode usar o dobro da memória necessária para atualizar uma tabela otimizada para memória não temporal. Esse consumo de memória duplicado é temporário, pois a tarefa de limpeza de dados funciona regularmente para manter o consumo de memória das tabelas de preparação internas dentro dos limites projetados no estado estável. O limite é 10% do consumo de memória da tabela temporal atual. Considere fazer atualizações massivas em vários lotes, ou enquanto
SYSTEM_VERSIONING = OFF, como usar atualizações para definir os valores padrão para colunas recém-adicionadas.
O período de ativação para a tarefa de liberação de dados não é configurável, mas você pode executar sp_xtp_flush_temporal_history manualmente conforme necessário.
Considere usar o armazenamento de colunas clusterizado como opção de armazenamento para uma tabela de histórico baseada em disco, especialmente se você planeja rodar consultas analíticas em dados históricos que utilizam funções agregadas ou de janela. Nesse caso, um índice columnstore clusterizado é uma opção ideal para sua tabela de histórico. Os índices columnstore clusterizados fornecem boa compactação de dados e se comportam de maneira amigável à inserção, alinhando-se à forma como os dados de histórico são gerados.
Conteúdo relacionado
- Tabelas temporais versionadas pelo sistema com tabelas otimizadas para memória
- Criar uma tabela temporal versionada do sistema otimizada para memória
- Trabalhar com tabelas temporais com versão do sistema e otimização de memória
- Monitorar tabelas temporais versionadas pelo sistema otimizadas para memória
- Tabelas temporais
- Verificações de consistência do sistema de tabela temporal
- Gerenciar a retenção de dados históricos em tabelas temporárias com versão do sistema
- Exibições e funções de metadados de tabela temporal