操作数据跳跃索引
以下操作可用
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]
- 为指定的 partition_name
重新构建辅助索引 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
引擎(包括 复制 变体)的表。