Entity Framework Async: Unerwarteter Leistungsengpass
Die Migration zu asynchronen Controllern und Datenbankoperationen (mit ToListAsync()
anstelle von ToList()
) verbessert häufig die Anwendungsleistung. Dies ist jedoch nicht immer der Fall. In einem aktuellen Szenario wurde die Abfrageausführung durch den Wechsel zu asynchronen Methoden erheblich verlangsamt. Die folgende Abfrage, die „Album“-Objekte mit einer einfachen Datenbankverknüpfung abruft, veranschaulicht dieses Problem:
<code class="language-csharp">var albums = await this.context.Albums .Where(x => x.Artist.ID == artist.ID) .ToListAsync();</code>
Die generierte SQL-Abfrage lautet (der Kürze halber gekürzt):
<code class="language-sql">SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], ...</code>
Das obige ist der detaillierte Inhalt vonWarum sind meine asynchronen Entity Framework-Vorgänge langsamer als synchrone Vorgänge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!