Heim >Datenbank >MySQL-Tutorial >Warum ist meine ASP.NET-Abfrage langsamer als in SSMS?
Langsame Abfrageleistung in ASP.NET im Vergleich zu SSMS
Die Diskrepanz in der Abfrageausführungszeit zwischen SQL Server Management Studio (SSMS) und einem ASP.NET-Anwendungen können einem Phänomen zugeschrieben werden, das als „Parameter-Sniffing“ bekannt ist.
Parameter-Sniffing tritt auf, wenn SQL Server kompiliert und führt eine Abfrage basierend auf den Werten seiner Parameter während der ersten Ausführung aus. Diese Werte können sich von denen unterscheiden, die in nachfolgenden Ausführungen verwendet werden, was zu suboptimalen Ausführungsplänen und Leistungseinbußen führt.
In Ihrem spezifischen Szenario variiert die Leistung der Abfrage auf der ASP.NET-Website aufgrund der Werte des @customerID-Parameters verändern sich. Wenn die Abfrage nach einer Änderung des Parameterwerts zum ersten Mal ausgeführt wird, wird auf der Grundlage dieser Werte ein effizienter Ausführungsplan erstellt. Nachfolgende Ausführungen mit unterschiedlichen Parameterwerten können jedoch aufgrund der Verwendung des zwischengespeicherten, nicht optimalen Ausführungsplans zu einer langsameren Leistung führen.
Um dieses Problem zu beheben, ziehen Sie die folgenden Techniken in Betracht:
Das obige ist der detaillierte Inhalt vonWarum ist meine ASP.NET-Abfrage langsamer als in SSMS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!