【问题标题】:Rails activerecord-import: How do I know how many records to insert in one batch?Rails activerecord-import:我如何知道一批要插入多少条记录?
【发布时间】:2011-09-14 17:54:44
【问题描述】:

我刚开始使用activerecord-import,它比我之前做的一个一个插入要快得多。我目前正在分批插入 500 条记录,并想知道其他人发现什么是批次的好数字?我知道没有“一刀切”的答案。我只是在寻找其他有 activerecord-import 经验的人的指导。我查看了documentation 并用谷歌搜索了它,但没有找到任何东西。

附加信息 fwiw:我正在使用 Postgres,并保存模型对象,而不是带有值的列和数组。

感谢任何帮助。

【问题讨论】:

    标签: ruby-on-rails ruby database activerecord


    【解决方案1】:

    activerecord-import 将根据您的数据库适配器的 max-allowed-packet 将导入分成组,因此您不应该遇到任何问题。优化是另一个问题。

    我唯一关心的是内存分配 - 如果您已经分配了所有对象并且只是将它们分批提供给 import 调用,我会一次性完成所有这些。

    如果您为每个批次动态生成对象(例如,从文件读取时),您应该进行一些测试并查看不同批次大小的内存使用情况。

    【讨论】:

    • 嗨@klochner。谢谢您的帮助。我正在从文件中读取并动态生成对象。我将批量大小从 500 条记录增加到 1000 条,并密切关注事情,但它仍然很好。我将继续测试它以找到最佳位置。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    相关资源
    最近更新 更多