跳到主要内容
跳到主要内容

操作数据跳过索引

以下操作可用:

添加索引

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

删除索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] DROP INDEX [IF EXISTS] name - 从表的元数据中删除索引描述,并从磁盘删除索引文件。 实现为 mutation

物化索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] MATERIALIZE INDEX [IF EXISTS] name [IN PARTITION partition_name] - 为指定的 partition_name 重新构建二级索引 name。 实现为 mutation。 如果省略 IN PARTITION 部分,则会为整个表数据重新构建索引。

清除索引

ALTER TABLE [db.]table_name [ON CLUSTER cluster] CLEAR INDEX [IF EXISTS] name [IN PARTITION partition_name] - 从磁盘中删除二级索引文件而不移除描述。 实现为 mutation

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

备注

仅支持对使用 *MergeTree 引擎的表(包括 replicated 变体)进行索引操作。