> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Suppression de partitions

> Page décrivant la suppression de partitions

<div id="background">
  ## Contexte
</div>

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).

```sql theme={null}
 CREATE TABLE posts
(
        `Id` Int32 CODEC(Delta(4), ZSTD(1)),
        `PostTypeId` Enum8('Question' = 1, 'Answer' = 2, 'Wiki' = 3, 'TagWikiExcerpt' = 4, 'TagWiki' = 5, 'ModeratorNomination' = 6, 'WikiPlaceholder' = 7, 'PrivilegeWiki' = 8),
        `AcceptedAnswerId` UInt32,
        `CreationDate` DateTime64(3, 'UTC'),
...
        `ClosedDate` DateTime64(3, 'UTC')
)
ENGINE = MergeTree
ORDER BY (PostTypeId, toDate(CreationDate), CreationDate)
PARTITION BY toYear(CreationDate)
```

Consultez la section [Comment définir l’expression de partition](/fr/reference/statements/alter/partition#how-to-set-partition-expression) 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](/fr/integrations/connectors/data-ingestion/AWS/integrating-s3-with-clickhouse#storage-tiers) en fonction du temps, ou d’[expirer des données/les supprimer efficacement du cluster](/fr/reference/statements/alter/partition).

<div id="drop-partitions">
  ## Supprimer des partitions
</div>

`ALTER TABLE ... DROP PARTITION` permet de supprimer une partition entière à moindre coût.

```sql theme={null}
ALTER TABLE table_name [ON CLUSTER cluster] DROP PARTITION|PART partition_expr
```

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.

```sql theme={null}
SELECT DISTINCT partition
FROM system.parts
WHERE `table` = 'posts'
```

```response theme={null}
┌─partition─┐
│ 2008      │
│ 2009      │
│ 2010      │
│ 2011      │
│ 2012      │
│ 2013      │
│ 2014      │
│ 2015      │
│ 2016      │
│ 2017      │
│ 2018      │
│ 2019      │
│ 2020      │
│ 2021      │
│ 2022      │
│ 2023      │
│ 2024      │
└───────────┘

17 rows in set. Elapsed: 0.002 sec.
```

```sql theme={null}
ALTER TABLE posts
(DROP PARTITION '2008')
```

```response theme={null}
0 rows in set. Elapsed: 0.103 sec.
```
