日志引擎:
具有最小功能的轻量级引擎。当您需要快速写入许多小表(最多约100万行)并在以后整体读取它们时,该类型的引擎是最有效的。
TinyLog引擎(数据不分块)
- 数据存储在磁盘上,每列都存储在单独的压缩文件中.
- 写入时,数据将附加到文件末尾。
- 只支持并发读,读写同时进行将抛异常。
- 同时写入多个查询中的表,则数据将被破坏。
- 这种表引擎的典型用法是 write-once:首先只写入一次数据,然后根据需要多次读取。此引擎适用于相对较小的表(建议最多1,000,000行)。如果有许多小表,则使用此表引擎是适合的,因为它比需要打开的文件更少。当拥有大量小表时,可能会导致性能低下。 不支持索引。
建表: create table tb_tinylog(id Int8 , name String , age Int8) engine=TinyLog ;
插入数据: insert into tb_tinylog values(1,‘zs’,33),(2,‘ls’,44),(3,‘ww’,55) ;
查询: select * from tb_tinylog;
StripeLog(数据分块列在一起)
- 在你需要写入许多小数据量(小于一百万行)的表的场景下使用这个引擎。
- StripeLog 引擎将所有列存储在一个文件中.
- 对每一次 Insert 请求,ClickHouse 将数据块追加在表文件的末尾,逐列写入。
- data.bin — 数据文件。
index.mrk — 带标记的文件。标记包含了已插入的每个数据块中每列的偏移量
- StripeLog 引擎不支持 ALTER