メインコンテンツまでスキップ
メインコンテンツまでスキップ

パーティションを削除する

背景

パーティショニングは、PARTITION BY句を使用してテーブルを初めて定義するときに指定されます。この句には、行が送られるパーティションを定義するSQL式を含めることができます。

データパーツは、ディスク上の各パーティションに論理的に関連付けられており、独立してクエリを実行できます。以下の例では、postsテーブルをtoYear(CreationDate)の式を使用して年でパーティション化しています。行がClickHouseに挿入されると、この式は各行に対して評価され、結果のパーティションが存在する場合、そのパーティションにルーティングされます(行がその年の最初のものであれば、パーティションが作成されます)。

パーティション式の設定方法については、パーティション式の設定方法のセクションをお読みください。

ClickHouseでは、ユーザーは主にパーティショニングをデータ管理機能と見なすべきであり、クエリ最適化技術としてではありません。キーに基づいてデータを論理的に分離することで、各パーティションは独立して操作でき、例えば削除することができます。これにより、ユーザーはパーティション、つまりサブセットをストレージ階層間で効率的に移動したり、データを期限切れにしたり/クラスターから効率的に削除したりすることが可能になります。

パーティションの削除

ALTER TABLE ... DROP PARTITIONは、全体のパーティションを削除するためのコスト効率の良い方法を提供します。

このクエリはパーティションを非アクティブとしてタグ付けし、約10分でデータを完全に削除します。このクエリはレプリケートされ、すべてのレプリカのデータを削除します。

以下の例では、関連するパーティションを削除することで、以前のテーブルから2008年の投稿を削除します。