跳转到主要内容
可执行的操作如下:

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] - 从磁盘中删除二级索引文件,但不移除其描述信息。该操作实现为一种变更 命令 ADDDROPCLEAR 都是轻量级的,也就是说,它们只会更改元数据或删除文件。 此外,这些命令也会被复制,并通过 ClickHouse Keeper 或 ZooKeeper 同步索引元数据。
只有使用 *MergeTree 引擎的表 (包括复制型变体) 才支持索引操作。
最后修改于 2026年6月10日