Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 实体框架上下文.SaveChanges()慢-包含SQL探查器_Sql Server 2008_Entity Framework 4 - Fatal编程技术网

Sql server 2008 实体框架上下文.SaveChanges()慢-包含SQL探查器

Sql server 2008 实体框架上下文.SaveChanges()慢-包含SQL探查器,sql-server-2008,entity-framework-4,Sql Server 2008,Entity Framework 4,我知道EF对于批处理操作来说不是很好,但我试图理解我们遇到的一个问题 我们正在循环一个文本文件,其中有5000个产品要插入到我们的数据库中 调用context.SaveChanges()并查看分析器时,我看到: 审核登录0MS RPC:已完成(插入产品的实际查询),显示为9次读取,持续时间为0毫秒 审核注销2750MS 为什么审核注销需要2秒以上的时间?实际的SQL查询根本不需要任何时间,审核登录也不需要任何时间 这是EF的开销吗?有人有什么建议吗?我唯一偶然发现的是预生成的视图,但不确定这是否

我知道EF对于批处理操作来说不是很好,但我试图理解我们遇到的一个问题

我们正在循环一个文本文件,其中有5000个产品要插入到我们的数据库中

调用context.SaveChanges()并查看分析器时,我看到:

审核登录0MS

RPC:已完成(插入产品的实际查询),显示为9次读取,持续时间为0毫秒

审核注销2750MS

为什么审核注销需要2秒以上的时间?实际的SQL查询根本不需要任何时间,审核登录也不需要任何时间


这是EF的开销吗?有人有什么建议吗?我唯一偶然发现的是预生成的视图,但不确定这是否有用。

注销本身并不需要2秒,分析器显示注销事件的会话持续时间,因此从登录到注销的时间为2750毫秒


在调用注销之前,应用程序中是否发生了可能需要一些时间的事情?插入和注销之间会发生什么情况?

那么这是否意味着它在275秒内执行5000次插入?我想它实际上不是SQL server,我应该更好地表述我的问题。如何调试实体框架以找出导致延迟的原因?我已经通过使用Linq To Sql解决了这个问题-使用'dated'orm获得了一个批导入,耗时4小时到56秒:)