跳至主要内容

批量插入

批量插入数据

默认情况下,发送到 ClickHouse 的每个插入都会导致 ClickHouse 立即在存储上创建一个包含插入数据以及需要存储的其他元数据的块。因此,与发送大量包含较少数据的插入相比,发送少量包含更多数据的插入将减少所需的写入次数。通常,我们建议一次至少以 1,000 行的相当大的批次插入数据,理想情况下是 10,000 到 100,000 行。为了实现这一点,请考虑实现缓冲机制,例如使用 Buffer 表引擎 来启用批量插入,或者使用异步插入(请参阅 异步插入)。

提示

无论插入的大小如何,我们建议将插入查询的数量保持在每秒一次插入查询左右。该建议的原因是在后台(为了优化您的数据以供读取查询)将创建的块合并为更大的块,并且每秒发送过多的插入查询会导致后台合并无法跟上新块的数量。但是,当您使用异步插入时,您可以使用更高的每秒插入查询速率(请参阅 异步插入)。