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

データスキッピングインデックスの操作

次の操作を行うことができます。

ADD INDEX

ALTER TABLE [db.]table_name [ON CLUSTER cluster] ADD INDEX [IF NOT EXISTS] name expression TYPE type [GRANULARITY value] [FIRST|AFTER name] - テーブルのメタデータにインデックス定義を追加します。

DROP INDEX

ALTER TABLE [db.]table_name [ON CLUSTER cluster] DROP INDEX [IF EXISTS] name - テーブルのメタデータからインデックスの定義を削除し、ディスク上のインデックスファイルも削除します。これは mutation として実装されています。

MATERIALIZE INDEX

ALTER TABLE [db.]table_name [ON CLUSTER cluster] MATERIALIZE INDEX [IF EXISTS] name [IN PARTITION partition_name] - 指定された partition_name に対してセカンダリインデックス name を再構築します。mutation として実装されています。IN PARTITION 句を省略した場合、テーブル全体のデータに対してインデックスを再構築します。

CLEAR INDEX

ALTER TABLE [db.]table_name [ON CLUSTER cluster] CLEAR INDEX [IF EXISTS] name [IN PARTITION partition_name] - セカンダリインデックスの定義は残したまま、そのファイルをディスクから削除します。mutation として実装されています。

ADDDROPCLEAR コマンドは、メタデータの変更またはファイルの削除のみを行うという意味で軽量です。 また、これらのコマンドはレプリケートされ、ClickHouse Keeper または ZooKeeper を通じてインデックスのメタデータが同期されます。

注記

インデックスの操作がサポートされるのは、*MergeTree エンジン(replicated バリアントを含む)のテーブルのみです。