c# - Entity Framework 4 : Bad performance with SQL Server 2008

标签 c# performance entity-framework sql-server-2008

我正在开发一个基于 Entity Framework 的软件来处理 MS SQL Server 2008 数据库中的数据。

[问题 1]

我刚刚尝试将一些小数据(大约 2 Mb)从我的程序插入数据库:性能非常糟糕!插入这些数据需要超过 1 分钟!

我已经尝试生成预编译 View ,我得到了相同的结果:-(

我的所有代码都使用业务层(使用 T4 模板从 .edmx 文件自动生成)来管理服务层中的数据。在对象关系中导航非常实用。

如何使用 Entity Framework 提高这些插入的性能?

[问题2]

此外,在使用 SaveChanges() 方法将数据插入数据库之前,我使用 AddObject() 方法填充我的对象上下文。我使用 AddObject() 将大约 100 000 个小对象(大约 2 Mb)添加到我的对象上下文中:这需要很长时间(超过 10 分钟)!

我怎样才能减少这个时间?

更新

我的程序必须在 2-3 分钟内在数据库中保存超过 50 Mb 的数据?您认为使用 EF 有可能吗?

最佳答案

您可以使用 Entity Framework Profiler 检查正在生成的 SQL。该工具有 30 天的免费试用期。它还声称它可以做“使用 Entity Framework 时常见陷阱的分析和检测”。

还有this EF调优的文章

编辑

根据您的编辑,EF 不是可行的方法。您需要进行批量插入才能快速获取数据。查看 this 链接,我在其中帮助某人将加载时间从 10 小时减少到 6 分钟。

关于c# - Entity Framework 4 : Bad performance with SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3890974/

相关文章:

c# - 使用 ajax 将 javascript 数组发送到代码隐藏 (c#)

c# - Arquivo 制作意大利面的入口文件

c# - 异步等待和线程

performance - Redis - 如果集合中有超过 x 个成员,则删除/弹出

performance - Oracle PL/SQL : Any benefits in changing PLSQL_CODE_TYPE from interpreted to native?

c# - 获取给定 System.Type 的结构的大小

c - 优化 maC,性能)——跟进 bit-twiddling 问题

entity-framework - 使用 autofac 注册多个 dbcontext

c# - EF7(核心)中同一个表的多个关系

c# - Entity Framework 中的异常处理