メインコンテンツへスキップ

背景

パーティション化は、テーブルの初期定義時に PARTITION BY 句で指定します。この句には任意のカラムに対する SQL 式を含めることができ、その結果によって、行がどのパーティションに送られるかが決まります。 データパーツは、ディスク上で各パーティションに論理的に関連付けられており、個別にクエリできます。以下の例では、toYear(CreationDate) という式を使って posts テーブルを年ごとにパーティション化しています。行が ClickHouse に挿入されると、この式が各行に対して評価され、対応するパーティションが存在すればそこに振り分けられます (その年の最初の行であれば、パーティションが作成されます) 。
パーティション式の設定については、パーティション式の設定方法のセクションを参照してください。 ClickHouse では、パーティション化は基本的にクエリ最適化の手法ではなく、データ管理機能として考えるべきです。キーに基づいてデータを論理的に分割することで、各パーティションを個別に操作できます。たとえば、削除できます。これにより、時間に応じてパーティション、ひいてはデータのサブセットをストレージティア間で効率的に移動したり、データを期限切れにする/クラスターから効率的に削除することができます。

パーティションの削除

ALTER TABLE ... DROP PARTITION を使うと、パーティション全体を効率的なコストで削除できます。
このクエリはパーティションを非アクティブとしてマークし、約10分後にデータを完全に削除します。このクエリはレプリケートされるため、すべてのレプリカ上のデータも削除されます。 以下の例では、対応するパーティションをドロップして、前述のテーブルから2008年の投稿を削除します。
最終更新日 2026年7月1日