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

Kueri berjalan cepat, tetapi berjalan lambat dalam prosedur tersimpan

Oke, kami pernah mengalami masalah serupa sebelumnya.

Cara kami memperbaikinya, adalah dengan membuat parameter lokal di dalam SP, sehingga

DECLARE @LOCAL_Contract_ID int, 
        @LOCAL_dt_From smalldatetime, 
        @LOCAL_dt_To smalldatetime, 
        @LOCAL_Last_Run_Date datetime

SELECT  @LOCAL_Contract_ID = @Contract_ID, 
        @LOCAL_dt_From = @dt_From, 
        @LOCAL_dt_To = @dt_To, 
        @LOCAL_Last_Run_Date = @Last_Run_Date

Kami kemudian menggunakan parameter lokal di dalam SP daripada parameter yang diteruskan.

Ini biasanya memperbaiki masalah bagi Kami.

Kami yakin ini karena parameter sniffing, tapi tidak ada bukti, maaf... X-)

EDIT:

Lihat Pendekatan yang Berbeda untuk Mengoreksi Pengendapan Parameter SQL Server untuk beberapa contoh, penjelasan, dan perbaikan yang mendalam.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana secara otomatis menambahkan tanggal 1 tahun ke tanggal yang ada di SQL Server

  2. Kolom Dinamis Pivot, tanpa Agregasi

  3. SQL Server UNTUK XML Path membuat node berulang

  4. Bidang VARCHAR(MAX) saya membatasi dirinya pada 4000; apa yang memberi?

  5. Batas waktu koneksi untuk server SQL