【发布时间】:2018-10-15 10:21:46
【问题描述】:
我们正在尝试在单次提交中更新 20000 条记录,这需要 30 多分钟。我们正在考虑减少记录数并实施将提交 1000 条记录的批处理过程。任何人都可以提供提高性能的建议吗?
【问题讨论】:
-
你的代码是什么?我认为原来的 Ef 6 不支持批量插入或更新。他们有扩展来做批量更新。
-
@isaeid ,我们有'for each'循环来更新记录。我们将设置要更新的最大记录数。
-
其实他们没有。有扩展,但它们没有 - 它们是第三方。
-
如果我禁用 'AutoDetectChangesEnabled = false;'选项,它会帮助我吗? @TomTom
-
它会使内部处理更快。它不会避免“一件件插入,与所有其他物品分开,完全等待退货”。错误的工具。 EF6 从未用于批量插入 - 将其用于那些插入就像试图只用刀子做一个平均数。专门的工具!=“将它用于一切”。
标签: c# performance entity-framework c#-4.0 entity-framework-6