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 として実装されています。
ADD、DROP、CLEAR コマンドは、メタデータを変更するかファイルを削除するだけであるという意味で軽量です。
また、これらはレプリケーションされ、ClickHouse Keeper または ZooKeeper を介して索引メタデータが同期されます。
索引の操作は、
*MergeTree エンジンのテーブル (replicated バリアントを含む) でのみサポートされます。