我有一个性能问题,我们做了一堆分析,并被卡住了.希望你们其中一个人之前见过这个.
我调用DbContext.Database.SqlQuery数据库部分需要3ms,但完整执行需要9秒.
我们使用EF Profiler来发现这一点,我们也直接在SQL Server Management Studio中运行SQL,它是即时的.
我们也使用了一瞥而无法深入了解这个过程.
结果类型不是模型中的实体,因此我们确信不涉及跟踪.
我们也知道这不是针对上下文执行的第一个查询,因此我们不会在此查询上支付EF启动成本.
我们尝试过.net分析器,运行它有很多问题我们决定我们应该问.
有关如何挖掘和解决这个问题的任何提示?
编辑:此查询的结果集是1行,4列(十进制)
代码行只是:
var list=contextInstance.Database.SqlQuery<nonEntityType>(sqstring).ToList();
Run Code Online (Sandbox Code Playgroud)
SQL本身不是一个很长的字符串.我们将使用更详细的分析器来找出过程中的这个问题.