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

Prosedur tersimpan sepertinya hang tanpa penjelasan

Saya pikir ini terkait dengan parameter sniffing dan kebutuhan untuk membuat parameter params input Anda ke params lokal di dalam SP. Menambahkan dengan kompilasi ulang menyebabkan rencana eksekusi dibuat ulang dan menghilangkan banyak manfaat memiliki SP. Kami menggunakan With Recompile pada banyak laporan dalam upaya untuk menghilangkan masalah gantung ini dan kadang-kadang mengakibatkan SP gantung yang mungkin terkait dengan kunci dan/atau transaksi lain yang mengakses tabel yang sama secara bersamaan. Lihat tautan ini untuk detail lebih lanjutParameter Sniffing (atau Spoofing ) di SQL Server dan ubah SP Anda menjadi yang berikut untuk memperbaikinya:

BUAT PROSEDUR [dbo].[SPNAME] @p1 int, @p2 intAS

MENYATAKAN @localp1 int, @localp2 int

SET @[email protected] SET @[email protected]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lewati beberapa kolom di SqlBulkCopy

  2. Kueri server SQL untuk mendapatkan daftar kolom dalam tabel bersama dengan tipe Data, NOT NULL, dan batasan PRIMARY KEY

  3. SQLBulkCopy dengan Identity Insert di tabel tujuan

  4. CTE untuk mendapatkan semua anak (keturunan) dari orang tua

  5. Prosesor Intel yang Direkomendasikan untuk Beban Kerja SQL Server 2014