Maison >développement back-end >C++ >Pourquoi mes opérations asynchrones Entity Framework sont-elles plus lentes que les opérations synchrones ?
Entity Framework Async : goulot d'étranglement inattendu en matière de performances
La migration vers des contrôleurs asynchrones et des opérations de base de données (en utilisant ToListAsync()
au lieu de ToList()
) améliore souvent les performances des applications. Cependant, ce n'est pas toujours le cas. Dans un scénario récent, le passage à des méthodes asynchrones a considérablement ralenti l'exécution des requêtes. La requête suivante, récupérant les objets « Album » avec une simple jointure à la base de données, illustre ce problème :
<code class="language-csharp">var albums = await this.context.Albums .Where(x => x.Artist.ID == artist.ID) .ToListAsync();</code>
La requête SQL générée est (tronquée par souci de concision) :
<code class="language-sql">SELECT [Extent1].[ID] AS [ID], [Extent1].[URL] AS [URL], [Extent1].[ASIN] AS [ASIN], ...</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!