Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Query yang berjalan dengan baik di SSMS berjalan sangat lambat di ASP.NET

Ada banyak hal yang bisa terjadi.

Pertama, Ivan G. benar bahwa parameter koneksi dan opsi SET mungkin berbeda antara SSMS dan klien ASP.NET Anda. Itu adalah sesuatu yang layak untuk dilihat di Profiler, jika Anda memiliki akses ke sana.

Kedua, jika Anda menjalankan kueri beberapa kali berturut-turut di SSMS, kemungkinan hasilnya sedang di-cache dan itulah sebabnya ia berjalan sangat cepat di SSMS. Jika berjalan lambat saat pertama kali Anda membuka SSMS dan mencoba menjalankannya, tetapi kemudian mempercepat, itu tandanya sedang berlangsung caching.

Adapun mengapa menambahkan satu klausa tambahan ke gabungan dapat memperlambat segalanya, sulit untuk mengatakan mengapa tanpa mengetahui lebih banyak tentang tabel Anda, tetapi bukan tidak mungkin itu bisa melakukannya. Apakah ada indeks di atas BATCH_INGR yang mencakup FACTORY dan INGR_CODE ? Anda mungkin memerlukannya sekarang karena Anda menyertakan INGR_CODE dalam kondisi bergabung Anda.

Cara terbaik untuk mengetahuinya adalah dengan melihat paket kueri dengan dan tanpa INGR_CODE klausa dan lihat perbedaannya. Apakah angka biaya untuk satu permintaan lebih besar daripada yang lain? Apakah ada pemindaian tabel yang sebelumnya tidak ada? Apakah pencarian indeks berubah menjadi pemindaian indeks?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Waktu kueri habis dari aplikasi web tetapi berjalan dengan baik dari studio manajemen

  2. Nilai kinerja panduan COMB

  3. Kontrol Sumber dan prosedur tersimpan

  4. Bagaimana cara membuat log kesalahan atau log kesalahan khusus dalam Paket SSIS?

  5. SQL Server Membangun Kembali dan Mengatur Ulang Indeks