一:MergeTree简介
MergeTree(合并树)及该系列(*MergeTree)是ClickHouse中最强大的表引擎。
MergeTree引擎的基本原理如下:当你有巨量数据要插入到表中时,你要高效地一批批写入数据片段,并希望这些数据片段在后台按照一定的规则合并。相比在插入时不断修改(重写)数据进行存储,这种策略会高效很多。
它的特点如下:
1)数据按主键排序。
2)可以使用分区(如果指定了主键)。
3)支持数据副本。
4)支持数据采样。
二:MergeTree的使用
格式:
ENGINE = MergeTree() ENGINE:引擎名和参数。
[PARTITION BY expr] PARTITION BY:分区键。要按月分区,可以使用表达式toYYYYMM(date_column)。
[ORDER BY expr] ORDER BY:表的排序键。可以是一组列的元组或任意的表达式,例如(id, name)。
[PRIMARY KEY expr] PRIMARY KEY:主键,需要与排序键字段不同,默认情况下主键和排序键相同。
[SAMPLE BY expr] SAMPLE BY:用于抽样的表达式。如果要用抽样表达式,主键中必须包含这个表达式。
[SETTINGS name = value, ...]
SETTINGS:影响MergeTree性能的额外参数:
(1)index_granularity: