创建表
写入数据
StripeLog 引擎将所有列都存储在同一个文件中。对于每个 INSERT 查询,ClickHouse 都会将数据块追加到表文件末尾,并按列逐个写入。
对于每个表,ClickHouse 会写入以下文件:
data.bin— 数据文件。index.mrk— 标记文件。标记包含每个已插入数据块中各列的偏移量。
StripeLog 引擎不支持 ALTER UPDATE 和 ALTER DELETE 操作。
读取数据
SELECT 查询返回的行顺序不可预测。使用 ORDER BY 子句对行进行排序。
使用示例
INSERT 查询,在 data.bin 文件中创建了两个数据块。
ClickHouse 在查询数据时会使用多个线程。每个线程都会读取一个单独的数据块,并在完成后独立返回结果行。因此,在大多数情况下,输出中这些行块的顺序与它们在输入中的顺序并不一致。例如: