【问题标题】:EF Core 3.1 query sometimes is superfast but sometimes is slowEF Core 3.1 查询有时超快但有时很慢
【发布时间】:2020-06-29 15:27:21
【问题描述】:

我正在使用 EF Core 3.1 和 sql server 2019 Developer Edition 我有一个复杂的选择查询,其中包含多个包含,其中 90% 非常快(平均 200 毫秒),但有时对于相同的参数它会变慢(有时需要长达 25 秒)。

我已经阅读了有关 sql server 中的参数嗅探的信息,但我不知道如何确定这是否会减慢查询速度。 我该如何检查是否是这种情况?

【问题讨论】:

  • 是 EF 生成 SQL,还是您为此编写了自定义 SQL?
  • EF 正在生成 SQL。没有自定义代码
  • 您是否在每次查询时(或在聚合根的边界内)创建一个新的 DataContext?
  • 我正在创建一个新的 DbContext,因为它为 REST 端点提供服务
  • 我运行了 sql 分析器,当它运行缓慢时,我能够在那里捕获它。 SQL Server 探查器中的持续时间几乎与 asp.net 核心记录器记录的请求的总时间相同。所以我想这不是连接问题。

标签: c# .net sql-server entity-framework-core


【解决方案1】:

我已经阅读了有关 sql server 中的参数嗅探的信息,但我不知道如何确定是否是这种情况会减慢查询速度。我该如何检查是否是这种情况?

打开 SQL Server 查询存储。 Monitoring performance by using the Query Store

【讨论】:

    猜你喜欢
    • 2021-01-04
    • 2021-11-04
    • 2015-06-16
    • 2021-02-19
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多