Passer au contenu principal
OPTIMIZE FINAL est une commande DDL qui réorganise et optimise physiquement et définitivement les données sur disque. Elle fusionne physiquement les data parts dans les tables MergeTree, en effectuant au passage la déduplication des données en supprimant les lignes dupliquées du stockage. FINAL est un modificateur de requête qui fournit des résultats dédupliqués sans modifier la structure des données stockées. Il fonctionne en appliquant la logique de fusion au moment de la lecture. Il est temporaire et n’affecte que le résultat de la requête en cours. Il est souvent recommandé aux utilisateurs d’éviter OPTIMIZE FINAL, car il entraîne un surcoût de performance important, mais il ne faut pas confondre les deux. Il est souvent nécessaire d’utiliser FINAL pour obtenir des résultats sans doublons, en particulier avec des moteurs de table comme ReplacingMergeTree, qui peuvent contenir des lignes dupliquées n’ayant pas encore été remplacées lors de l’éventuel processus de fusion en arrière-plan. Le tableau ci-dessous résume les principales différences :
AspectOPTIMIZE FINALFINAL
TypeCommande DDLModificateur de requête
EffetOptimisation permanente du stockageDéduplication temporaire à l’exécution de la requête
PerformanceImpact : coût élevé une seule fois, puis requêtes plus rapidesCoût individuel plus faible, mais répété pour chaque requête
Modification des donnéesOui - modifie physiquement le stockageNon - opération en lecture seule
Cas d’utilisationMaintenance/optimisation périodiqueRequêtes dédupliquées en temps réel

Quand utiliser l’un ou l’autre

Utilisez OPTIMIZE FINAL lorsque :
  • Vous souhaitez améliorer durablement les performances des requêtes
  • Vous pouvez supporter le coût ponctuel de l’optimisation
  • Vous effectuez une maintenance périodique des tables
  • Vous souhaitez supprimer physiquement les données dupliquées
Utilisez FINAL lorsque :
  • Vous avez besoin de résultats dédupliqués immédiatement
  • Vous ne pouvez pas attendre une optimisation permanente, ou vous n’en voulez pas
  • Vous n’avez besoin de données dédupliquées qu’occasionnellement
  • Vous travaillez avec des données qui évoluent fréquemment
Les deux sont des outils précieux, mais ils répondent à des usages différents dans la stratégie de déduplication de ClickHouse.
Dernière modification le 25 juin 2026