MySQL ClickHouse常用表引擎超详细讲解

目录 表引擎 合并树家族 MergeTree 排序键 主键 分区 数据生命周期 其它设置 ReplacingMergeTree SummingMergeTree 日志家族 其它 表引擎 表引擎作用: 数据的存储方式和位置 支持哪些查询以及如

                        目录表引擎合并树家族MergeTree排序键主键分区数据生命周期其它设置ReplacingMergeTreeSummingMergeTree日志家族其它<p></p>

表引擎

表引擎作用: 数据的存储方式和位置

支持哪些查询以及如何支持

并发数据访问

索引的使用(如果存在)

是否可以执行多线程请求

数据复制参数

常见表引擎家族说明索引备注 TinyLog Log Family 以列文件的形式保存在硬盘数据写入时,追加到文件末尾 不支持 可用于存储小批量处理的中间数据 Memory 其它 数据以未压缩的原始形式直接保存在内存 不支持 适用于少量数据的高性能查询 MergeTree MergeTree Family 支持 列式存储、分区、稀疏索引、二级索引… 支持 单节点ClickHouse实例的默认表引擎

合并树家族

合并树家族特点:

快速插入数据并进行后续的后台数据处理

支持数据复制

支持分区

支持稀疏索引

稀疏索引原理

稀疏索引占用空间小,范围批量查询快,但单点查询较慢

MergeTree

擅长 插入极大量的数据到一张表数据 能以 数据片段的形式 一个接一个地快速写入,数据片段 在后台 按一定的规则进行合并CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1] [TTL expr1], name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2] [TTL expr2], ... INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1, INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2 ) ENGINE = MergeTree() ORDER BY expr [PARTITION BY expr] [PRIMARY KEY expr] [SAMPLE BY expr] [TTL expr [DELETE|TO DISK 'xxx'|TO VOLUME 'xxx'], ...] [SETTINGS name=value, ...]

关键词简述 ENGINE 引擎 ORDER BY 数据排序规则 PARTITION BY 分区 PRIMARY KEY 索引规则 TTL 数据生命周期 SETTINGS 其它设置