Pular para o conteúdo principal
OPTIMIZE FINAL é um comando DDL que reorganiza e otimiza os dados em disco de forma física e permanente. Ele mescla fisicamente partes de dados em tabelas MergeTree, realizando a desduplicação de dados no processo ao remover linhas duplicadas do armazenamento. FINAL é um modificador em tempo de consulta que fornece resultados desduplicados sem alterar a estrutura dos dados armazenados. Ele funciona aplicando a lógica de merge no momento da leitura. É temporário e afeta apenas o resultado da consulta atual. Em geral, recomenda-se evitar o uso de OPTIMIZE FINAL, pois ele impõe uma sobrecarga significativa de desempenho; no entanto, os dois não devem ser confundidos. Muitas vezes, é necessário usar FINAL para obter resultados sem duplicatas, especialmente ao usar motores de tabela como ReplacingMergeTree, que podem conter linhas duplicadas que ainda não foram substituídas durante o processo eventual de merge em segundo plano. A tabela abaixo resume as principais diferenças:
AspectoOPTIMIZE FINALFINAL
TipoComando DDLModificador de consulta
EfeitoOtimização permanente do armazenamentoDesduplicação temporária em tempo de consulta
DesempenhoImpacto Alto custo uma vez; depois, consultas mais rápidasMenor custo por consulta, mas repetido em cada consulta
Modificação de dadosSim - altera fisicamente o armazenamentoNão - operação somente leitura
Caso de usoManutenção/otimização periódicaConsultas desduplicadas em tempo real

Quando usar cada um

Use OPTIMIZE FINAL quando:
  • Você quiser melhorar permanentemente o desempenho das consultas
  • Puder arcar com o custo pontual da otimização
  • Estiver fazendo manutenção periódica da tabela
  • Quiser remover fisicamente os dados duplicados
Use FINAL quando:
  • Precisar de resultados desduplicados imediatamente
  • Não puder esperar pela otimização permanente ou não quiser fazê-la
  • Só precisar ocasionalmente de dados desduplicados
  • Estiver trabalhando com dados que mudam com frequência
Ambos são recursos valiosos, mas têm finalidades diferentes na estratégia de desduplicação do ClickHouse.
Última modificação em 10 de junho de 2026