ClickHouse/docs/ru/sql-reference/statements/alter/index/index.md
2021-09-09 12:02:18 +06:00

1.7 KiB
Raw Blame History

toc_hidden_folder toc_priority toc_title
true 42 Манипуляции с индексами

Манипуляции с индексами

Добавить или удалить индекс можно с помощью операций

ALTER TABLE [db.]name ADD INDEX name expression TYPE type GRANULARITY value [FIRST|AFTER name]
ALTER TABLE [db.]name DROP INDEX name
ALTER TABLE [db.]table MATERIALIZE INDEX name IN PARTITION partition_name

Поддерживается только таблицами семейства *MergeTree.

Команда ADD INDEX добавляет описание индексов в метаданные, а DROP INDEX удаляет индекс из метаданных и стирает файлы индекса с диска, поэтому они легковесные и работают мгновенно.

Если индекс появился в метаданных, то он начнет считаться в последующих слияниях и записях в таблицу, а не сразу после выполнения операции ALTER. MATERIALIZE INDEX - перестраивает индекс в указанной партиции. Реализовано как мутация. В случае если нужно перестроить индекс над всеми данными то писать IN PARTITION не нужно.

Запрос на изменение индексов реплицируется, сохраняя новые метаданные в ZooKeeper и применяя изменения на всех репликах.