0

我正在尝试使用batch()方法插入 100 多条记录。

client.batch(batchQuery, { prepare: true }, function (err, result) {
    if (err) {
        res.status(404).json({ msg: err });
    } else {
        res.json([result.rows][0]);
    }
});

batchQuery 有超过 100 个插入查询。如果记录少于 7 条,它就可以工作。如果超过 10 条,那么我会得到“批量太大”

4

1 回答 1

1

您不应该使用批处理批量插入 Cassandra(与 RDBMS 相比) - 您得到的这个错误意味着您正在将数据插入不同的分区,并且它会在接收查询的节点上增加额外的负载。只有在对同一分区进行插入时才需要使用批处理 - 在这种情况下,它们将作为单个突变应用。

否则,通过异步执行发送单个插入查询会快得多。您只需不需要同时发送太多请求(请参阅此答案)。

您可以在文档中阅读更多关于批次的好坏使用的更多信息以及关于 SO: 1的以下答案。

于 2019-03-01T16:12:30.437 回答