Oracle 实体框架-简单查询需要3分钟完成
我首先在Oracle数据库中使用Entity Framework 6代码(使用Devart DotConnect for Oracle) 对于具有SingleOrDefault的特定查询,完成查询需要1秒:Oracle 实体框架-简单查询需要3分钟完成,oracle,entity-framework-6,devart,Oracle,Entity Framework 6,Devart,我首先在Oracle数据库中使用Entity Framework 6代码(使用Devart DotConnect for Oracle) 对于具有SingleOrDefault的特定查询,完成查询需要1秒: -- Executing at 08.10.2019 10:04:04 +02:00 -- Completed in 1211 ms with result: d 但是,在连接关闭之前,3,5分钟内不会发生任何事情: Closed connection at 08.10.2019 10:0
-- Executing at 08.10.2019 10:04:04 +02:00
-- Completed in 1211 ms with result: d
但是,在连接关闭之前,3,5分钟内不会发生任何事情:
Closed connection at 08.10.2019 10:07:41 +02:00
在此期间,数据库服务器的CPU将上升到100%
如果我直接在数据库上执行相同的查询,速度会非常快
如果我稍微修改一下LINQ查询,它也会非常快
您是否知道我可以尝试找出问题的根源,以及为什么直接执行查询和从实体框架执行查询之间存在差异
非常感谢。参数类型为“Varchar”,列类型为“varchar2(4000)”。数据库版本是Oracle 11g-11.2.0.3.01。出于测试目的,将“Pooling=false;”添加到连接字符串中。这个问题在这种情况下持续存在吗。问题是否特定于特定的表?或者它发生在所有表和所有查询中?1。是的,问题依然存在。2.问题特定于特定客户数据库上的特定表,甚至特定查询(已经发生两次)。如果删除联接或WHERE条件,查询将立即返回。。。找到问题的根源可能很复杂。我试图理解的是,如果我直接在数据库上运行查询,为什么查询会很快。也许你有个主意。给我们你的LINQ查询。2.启用dbMonitor并指定生成的SQL语句及其参数的数据类型。3.通过OracleCommand运行相同的SQL查询,性能问题是否与通过EF LINQ查询相同?