Entity Framework の非同期: パフォーマンスが 10 倍低下
問題:
データベース インタラクションを Entity Framework 6 内の非同期メソッドに移行すると、予期せずパフォーマンスが大幅に低下します。 この場合、非同期操作は、同等の同期操作よりも 10 倍遅く実行されます。
調査:
代表的なコード スニペットを見てみましょう:
<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>
以上がEntity Framework の非同期操作が 10 倍遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。