一:表引擎作用
表引擎(即表的类型)决定了:
1)数据的存储方式和位置,写到哪里以及从哪里读取数据。
2)支持哪些查询以及如何支持。
3)并发数据访问。
4)索引的使用(如果存在)。
5)是否可以执行多线程请求。
6)数据复制参数。
二:几种常用的表引擎
1. TinyLog
最简单的表引擎,用于将数据存储在磁盘上。每列都存储在单独的压缩文件中,写入时,数据将附加到文件末尾。
该引擎没有并发控制。
如果同时从表中读取和写入数据,则读取操作将抛出异常。
如果同时写入多个查询中的表,则数据将被破坏。
不支持索引。
这种表引擎的典型用法是write-once,首先只写入一次数据,然后根据需要多次读取。此引擎适用于相对较小的表(建议最多1000000行)。如果有许多小表,则使用此表引擎是适合的,因为它需要打开的文件更少。当拥有大量小表时,可能会导致性能低下。
例:创建一个TinyLog引擎的表并插入一条数据。
create table t1(a UInt16, b String) ENGINE=TinyLog;
insert into t1(a, b) values(1, 'abc');