Maison >base de données >tutoriel mysql >Pourquoi ma requête ASP.NET est-elle plus lente que dans SSMS ?
Performances lentes des requêtes dans ASP.NET par rapport à SSMS
L'écart dans le temps d'exécution des requêtes entre SQL Server Management Studio (SSMS) et un L'application ASP.NET peut être attribuée à un phénomène connu sous le nom de « reniflage de paramètres ».
Le reniflage de paramètres se produit lorsque SQL Server compile et exécute une requête en fonction des valeurs de ses paramètres lors de la première exécution. Ces valeurs peuvent être différentes de celles utilisées lors des exécutions ultérieures, entraînant des plans d'exécution sous-optimaux et une dégradation des performances.
Dans votre scénario spécifique, les performances de la requête varient sur le site Web ASP.NET car les valeurs du paramètre @customerID sont en train de changer. La première fois que la requête est exécutée après une modification de la valeur du paramètre, elle crée un plan d'exécution efficace basé sur ces valeurs. Cependant, les exécutions ultérieures avec des valeurs de paramètres différentes peuvent entraîner un ralentissement des performances en raison de l'utilisation du plan d'exécution mis en cache et non optimal.
Pour résoudre ce problème, envisagez les techniques suivantes :
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!