首頁 >後端開發 >C++ >為什麼我的實體框架非同步操作比同步操作慢?

為什麼我的實體框架非同步操作比同步操作慢?

Patricia Arquette
Patricia Arquette原創
2025-01-10 18:36:42172瀏覽

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