實體框架非同步:意外的效能瓶頸
遷移到非同步控制器和資料庫操作(使用 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中文網其他相關文章!