Perbezaan Prestasi antara SQL Server Management Studio dan ASP.NET Applications
Apabila melaksanakan pertanyaan SQL, adalah perkara biasa untuk menghadapi percanggahan prestasi yang ketara antara SQL Server Management Studio (SSMS) dan aplikasi web. Isu prestasi sedemikian boleh membingungkan dan mengecewakan. Dalam kes ini, pertanyaan yang dijalankan dalam beberapa saat dalam SSMS mengambil masa beberapa minit untuk dilaksanakan dalam aplikasi ASP.NET.
Meneroka Penghidu Parameter
Satu kemungkinan penjelasan untuk perbezaan ini adalah fenomena yang dikenali sebagai parameter sniffing. Menghidu parameter berlaku apabila pengoptimum pertanyaan SQL Server menggunakan pelan pelaksanaan yang berbeza untuk pertanyaan yang sama berdasarkan jenis data dan nilai parameter yang dibekalkan semasa penyusunan.
Dalam pertanyaan yang disediakan, parameter @customerID digunakan untuk menapis keputusannya. Apabila pertanyaan dilaksanakan dalam SSMS, pengoptimum boleh memilih pelan pelaksanaan yang lebih cekap berdasarkan nilai khusus @customerID. Walau bagaimanapun, apabila pertanyaan dilaksanakan dalam aplikasi ASP.NET, pengoptimum mungkin menyusun pertanyaan menggunakan pelan yang kurang optimum disebabkan oleh jenis data atau nilai @customerID yang berbeza pada masa itu.
Mitigasi Parameter Sniffing
Untuk mengurangkan parameter sniffing, pertimbangkan perkara berikut strategi:
Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Jauh Lebih Lambat dalam ASP.NET berbanding SSMS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!