我想插入大量数据,我应该使用什么:单个insert into
语句,还是必须使用批量插入?还有别的吗?我问的原因是,我的 CrateDB 节点的磁盘平均只有 11kb/s 繁忙,而磁盘负载是 100% 使用单次插入!
此外,是否支持类似的东西INSERT INTO IGNORE
?我可以把我的数据批量扔到 CrateDB 上,它会忽略重复的条目吗?
谢谢!
因此,正如您正确猜到的那样,批量插入可为您提供最佳性能。然而,体验可能会有所不同——这主要取决于选择的“批量大小”,即一次发送多少条记录。通常一批 1000 条记录的性能非常好,但建议多试一试,因为这可能特定于 CrateDB 运行的硬件。
批量插入也会自动跳过重复插入 - 如果您在该表上定义了主键(数据库如何知道什么是重复的?)。虽然这会影响性能(不必要的查找/插入失败)......
根据您想要实现的目标,您应该考虑使用插入或更新