实体框架异步:性能下降十倍
问题:
将数据库交互迁移到 Entity Framework 6 中的异步方法会意外地导致性能急剧下降。 在这种情况下,异步操作的运行速度比同步操作慢十倍。
调查:
让我们看一下代表性的代码片段:
<code class="language-csharp">var albums = await this.context.Albums .Where(x => x.Artist.ID == artist.ID) .ToListAsync();</code>
此异步查询检索与特定艺术家关联的专辑。 令人惊讶的是,生成的 SQL 与其同步对应的 SQL 保持相同:
<code class="language-sql">SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], </code>
以上是为什么我的实体框架异步操作速度慢 10 倍?的详细内容。更多信息请关注PHP中文网其他相关文章!