跳至主要内容

批量插入

批量导入数据

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

提示

无论插入的大小如何,我们都建议将插入查询的数量保持在每秒大约一个插入查询。提出此建议的原因是,创建的 Part 会在后台合并成更大的 Part(以便优化您的数据以进行读取查询),并且每秒发送过多的插入查询会导致后台合并无法跟上新 Part 数量的情况。但是,当您使用异步插入时,您可以使用更高的每秒插入查询率(请参阅异步插入)。