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 — удаляет описание индекса из метаданных таблицы и удаляет файлы индекса с диска. Реализовано как мутация.
MATERIALIZE INDEX
ALTER TABLE [db.]table_name [ON CLUSTER cluster] MATERIALIZE INDEX [IF EXISTS] name [IN PARTITION partition_name] — перестраивает вторичный индекс name для указанной партиции partition_name. Реализовано как мутация. Если часть IN PARTITION опущена, индекс перестраивается для данных всей таблицы.
CLEAR INDEX
ALTER TABLE [db.]table_name [ON CLUSTER cluster] CLEAR INDEX [IF EXISTS] name [IN PARTITION partition_name] — удаляет с диска файлы вторичного индекса, не удаляя его описание. Реализовано в виде мутации.
Команды ADD, DROP и CLEAR считаются лёгковесными, поскольку они лишь изменяют метаданные или удаляют файлы.
Кроме того, они реплицируются, а метаданные индексов синхронизируются через ClickHouse Keeper или ZooKeeper.
Управление индексами поддерживается только для таблиц семейства
*MergeTree (включая реплицируемые варианты).