gpt4 book ai didi

mysql - 无法使用 bulkCreate 进行 50k 插入

转载 作者:行者123 更新时间:2023-11-29 05:48:50 25 4
gpt4 key购买 nike

使用 Sequelize v4.38.0 使用 mysql 方言我不能像 50k 记录那样在数据库中进行大规模插入,尽管它应该在这个 PR 上解决和合并 #7391 .

我尝试使用 v4.44.0 但即使使用 {raw: true} 也没有任何收获例如:Model.bulkCreate(MY_ARRAY_50k_SIZE, {raw:true})

我注意到它实际上是作为单独的插入 sql 查询执行的!!!

你能帮我找到一种正确的方法来在 O(1) 中插入如此大的数据,因为只有一个插入语句甚至 O(N) 吗?

最佳答案

您可以大大通过使用事务 提高性能,这样批量插入直到最后才提交。只要您使用事务,单个查询就不会比一个巨大的查询慢很多。

const transaction = await sequelize.transaction();
await Model.bulkCreate(MY_ARRAY_50k_SIZE, { raw: true, transaction });
await transaction.commit();

关于mysql - 无法使用 bulkCreate 进行 50k 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56698099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com