clickhouse如何创建二级索引?

提问者:帅平 问题分类:大数据
clickhouse如何创建二级索引?
2 个回答
深海少女心
深海少女心
clickhouse创建二级索引的时候需要在create table的时候指定如下的信息:
INDEX index_name expr TYPE index_type(...) GRANULARITY granularity

创建二级索引的示例语句如下:
CREATE TABLE users
(
   id UInt8,
   name String,
   age UInt8
   INDEX idx_01 id TYPE minmax GRANULARITY 5
)
ENGINE = MergeTree
ORDER BY (id)
发布于:5个月前 (02-21) IP属地:未知
一闪一闪亮晶晶べ
一闪一闪亮晶晶べ
关于上诉参数的说明如下:
1、index_name:定义的二级索引名称
2、index_type:跳数索引类型,最常用就是minmax索引类型。minmax索引记录了一段数据内的最小和最大极值,其索引的作用类似分区目录,能够快速跳过无用的数据区间。
3、granularity:定义聚合信息汇总的粒度。
4、与一级索引一样,如果在建表语句中声明了跳数索引,则会在路径“/var/lib/ClickHouse/data/DATABASE/TABLE/PARTITION/”目录下生成索引与标记文件(skp_idx.idx与skp_idx.mrk)。
5、在接触跳数索引时,很容易将index_granularity与granularity概念混淆,对于跳数索引而言,index_granularity定义了数据的粒度,而granularity定义了聚合信息汇总的粒度,也就是说,granularity定义了一行跳数索引能够跳过多少个index_granularity区间的数据。
发布于:5个月前 (02-21) IP属地:未知
我来回答