操作数据跳过索引
可以执行以下操作:
添加索引
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。
命令 ADD
、DROP
和 CLEAR
是轻量级的,因为它们只更改元数据或删除文件。此外,它们是复制的,通过 ClickHouse Keeper 或 ZooKeeper 同步索引元数据。