Maison >développement back-end >C++ >Pourquoi mes opérations asynchrones Entity Framework sont-elles plus lentes que les opérations synchrones ?

Pourquoi mes opérations asynchrones Entity Framework sont-elles plus lentes que les opérations synchrones ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-10 18:36:42173parcourir

Why Are My Entity Framework Async Operations Slower Than Synchronous Ones?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn