mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 19:02:04 +00:00
1.8 KiB
1.8 KiB
slug | toc_hidden_folder | sidebar_position | sidebar_label |
---|---|---|---|
/ru/sql-reference/statements/alter/index | true | 42 | Манипуляции с индексами |
Манипуляции с индексами
Добавить или удалить индекс можно с помощью операций
ALTER TABLE [db.]table_name [ON CLUSTER cluster] ADD INDEX name expression TYPE type GRANULARITY value [FIRST|AFTER name]
ALTER TABLE [db.]table_name [ON CLUSTER cluster] DROP INDEX name
ALTER TABLE [db.]table_name [ON CLUSTER cluster] MATERIALIZE INDEX name IN PARTITION partition_name
Поддерживается только таблицами семейства *MergeTree
.
Команда ADD INDEX
добавляет описание индексов в метаданные, а DROP INDEX
удаляет индекс из метаданных и стирает файлы индекса с диска, поэтому они легковесные и работают мгновенно.
Если индекс появился в метаданных, то он начнет считаться в последующих слияниях и записях в таблицу, а не сразу после выполнения операции ALTER
.
MATERIALIZE INDEX
- перестраивает индекс в указанной партиции. Реализовано как мутация. В случае если нужно перестроить индекс над всеми данными то писать IN PARTITION
не нужно.
Запрос на изменение индексов реплицируется, сохраняя новые метаданные в ZooKeeper и применяя изменения на всех репликах.