gpt4 book ai didi

sql - 延迟作业批量插入

转载 作者:行者123 更新时间:2023-12-03 16:03:08 24 4
gpt4 key购买 nike

我正在我的 heroku 服务器上优化我的 SQL 查询,以便我可以在一个特定的请求上加快速度。现在我主要考虑将所有 INSERT 查询压缩为尽​​可能少的查询。

在我的代码中的某个时候,我有这个:

  jobs.each do |j|
Delayed::Job.enqueue j
end

我发现每次迭代都会向数据库发送 BEGIN、INSERT、COMMIT。那个 jobs数组中可以有几个到几百个对象。我一直在寻找一种批量插入延迟作业的方法,但找不到任何东西。知道如何实现这一目标吗?

最佳答案

我一直在使用 AR-Extensions 将模型中的大量数据插入到数据库中。

不过,那是在 Rails 2.3.x 上,请注意现在有不同的版本,具体取决于 Rails 版本:http://www.continuousthinking.com/tags/arext

我不确定 Delayed::Job 是如何工作的,但是从您的示例中猜测,我假设它将每个作业的记录插入到一​​个表中,然后作为队列。您可以使用 AR-Extensions 对其进行扩展,以收集所有这些模型并一次插入所有作业。

关于sql - 延迟作业批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869012/

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