跳转到主内容
跳转到主内容

操作数据跳过索引

以下操作可用:

ADD 索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] ADD INDEX [IF NOT EXISTS] name expression TYPE type [GRANULARITY value] [FIRST|AFTER name] - 向表的元数据中添加索引描述。

DROP 索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] DROP INDEX [IF EXISTS] name - 从表的元数据中移除索引定义,并从磁盘上删除索引文件。该操作作为一次变更来实现。

MATERIALIZE 索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] MATERIALIZE INDEX [IF EXISTS] name [IN PARTITION partition_name] - 为指定的 partition_name 重建名为 name 的二级索引。该操作作为一次变更实现。如果省略 IN PARTITION 子句,则会为整张表的数据重建索引。

CLEAR 索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] CLEAR INDEX [IF EXISTS] name [IN PARTITION partition_name] - 从磁盘中删除二级索引文件,但不会移除索引定义。该操作实现为一次变更

命令 ADDDROPCLEAR 是轻量级的,因为它们只会更改元数据或删除文件。 此外,这些命令是可复制的,会通过 ClickHouse Keeper 或 ZooKeeper 同步索引元数据。

注意

索引操作仅支持使用 *MergeTree 引擎 (包括复制变体) 的表。