Перейти к основному содержанию
Перейти к основному содержанию

Работа с индексами пропуска данных

Доступны следующие операции:

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 (включая реплицируемые варианты).