Entity Framework Async: Ein zehnfacher Leistungsabfall
Das Problem:
Die Migration von Datenbankinteraktionen auf asynchrone Methoden innerhalb von Entity Framework 6 führt unerwartet zu einem dramatischen Leistungsabfall. Asynchrone Vorgänge laufen in diesem Fall zehnmal langsamer als ihre synchronen Äquivalente.
Untersuchung:
Sehen wir uns einen repräsentativen Codeausschnitt an:
var albums = await this.context.Albums .Where(x => x.Artist.ID == artist.ID) .ToListAsync();
Diese asynchrone Abfrage ruft Alben ab, die einem bestimmten Künstler zugeordnet sind. Überraschenderweise bleibt das generierte SQL identisch mit seinem synchronen Gegenstück:
SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN],
Das obige ist der detaillierte Inhalt vonWarum ist der asynchrone Betrieb meines Entity Frameworks 10x langsamer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!