Passer au contenu principal

Contexte

Le partitionnement est spécifié sur une table lors de sa définition initiale via la clause PARTITION BY. Cette clause peut contenir une expression SQL portant sur n’importe quelle colonne, dont le résultat détermine vers quelle partition une ligne est envoyée. Les parties de données sont logiquement associées à chaque partition sur le disque et peuvent être interrogées séparément. Dans l’exemple ci-dessous, nous partitionnons la table posts par année à l’aide de l’expression toYear(CreationDate). À mesure que des lignes sont insérées dans ClickHouse, cette expression est évaluée pour chaque ligne, qui est ensuite dirigée vers la partition correspondante si elle existe (si cette ligne est la première pour une année donnée, la partition sera créée).
Consultez la section Comment définir l’expression de partition pour savoir comment définir l’expression de partition. Dans ClickHouse, les utilisateurs doivent considérer le partitionnement avant tout comme une fonctionnalité de gestion des données, et non comme une technique d’optimisation des requêtes. En séparant logiquement les données selon une clé, chaque partition peut être manipulée indépendamment, par exemple supprimée. Cela permet de déplacer efficacement des partitions, et donc des sous-ensembles de données, entre les niveaux de stockage en fonction du temps, ou d’expirer des données/les supprimer efficacement du cluster.

Supprimer des partitions

ALTER TABLE ... DROP PARTITION permet de supprimer une partition entière à moindre coût.
Cette requête marque la partition comme inactive et supprime complètement les données au bout d’environ 10 minutes. La requête est répliquée : elle supprime les données sur toutes les répliques. Par exemple, ci-dessous, nous supprimons les posts de 2008 de la table précédente en supprimant la partition correspondante.
Dernière modification le 25 juin 2026