我知道EF不适合批处理操作,但我试图了解我们遇到的问题。
我们正在循环一个文本文件,其中有5,000个产品要插入到我们的数据库中。
在调用context.SaveChanges()并观察我看到的探查器时:
审核登录0MS
RPC:已完成(插入产品的实际查询)显示为9次读取且持续时间为0 MS
审核退出 2750MS
为什么审核注销时间超过2秒?实际的SQL查询根本不需要任何时间,审计登录也没有。
这是EF的开销吗?有没有人有任何建议?我唯一偶然发现的是预先生成的视图,但不确定这是否会有所帮助。
答案 0 :(得分:0)
注销本身不需要2秒,探测器会在注销事件中显示会话的持续时间,因此从登录到注销时间为2750毫秒。
在调用注销之前,应用程序中是否发生了一些可能需要一些时间的事情?插入和注销之间会发生什么?