首页 >后端开发 >C++ >为什么我的实体框架异步操作比同步操作慢?

为什么我的实体框架异步操作比同步操作慢?

Patricia Arquette
Patricia Arquette原创
2025-01-10 18:36:42173浏览

Why Are My Entity Framework Async Operations Slower Than Synchronous Ones?

实体框架异步:意外的性能瓶颈

迁移到异步控制器和数据库操作(使用 ToListAsync() 而不是 ToList())通常可以提高应用程序性能。 然而,情况并非总是如此。 在最近的场景中,切换到异步方法会极大地减慢查询执行速度。 以下查询通过简单的数据库连接检索“Album”对象,说明了此问题:

<code class="language-csharp">var albums = await this.context.Albums
    .Where(x => x.Artist.ID == artist.ID)
    .ToListAsync();</code>

生成的 SQL 查询是(为了简洁而被截断):

<code class="language-sql">SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[URL] AS [URL], 
[Extent1].[ASIN] AS [ASIN], 
...</code>

以上是为什么我的实体框架异步操作比同步操作慢?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn