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

SQL kinerja rencana eksekusi prosedur tersimpan yang buruk - parameter sniffing

Pada dasarnya ya - parameter sniffing (dalam beberapa level patch) SQL Server 2005 rusak parah. Saya telah melihat rencana yang secara efektif tidak pernah selesai (dalam beberapa jam pada kumpulan data kecil) bahkan untuk kumpulan data kecil (beberapa ribu baris) yang selesai dalam hitungan detik setelah parameter ditutup. Dan ini dalam kasus di mana parameternya selalu nomor yang sama. Saya akan menambahkan bahwa pada saat yang sama saya berurusan dengan ini, saya menemukan banyak masalah dengan LEFT JOIN/NULLs tidak selesai dan saya menggantinya dengan NOT IN or NOT EXISTS dan ini menyelesaikan rencana untuk sesuatu yang akan selesai. Sekali lagi, masalah rencana eksekusi (sangat buruk). Pada saat saya berurusan dengan ini, DBA tidak akan memberi saya akses SHOWPLAN, dan sejak saya mulai menutupi setiap parameter SP, saya tidak memiliki masalah rencana eksekusi lebih lanjut di mana saya harus menggali ini untuk non-penyelesaian .

Di SQL Server 2008 Anda dapat menggunakan OPTIMIZE FOR UNKNOWN .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tambahkan batasan unik ke kombinasi dua kolom

  2. Konsep utama penguncian SQL Server

  3. 4 Cara untuk Mengetahui Kolom Apa yang Akan Dikembalikan oleh Prosedur Tersimpan di SQL Server

  4. Pernyataan CASE dalam klausa WHERE di SQL Server 2008

  5. Apakah ada Entity Framework 7 Database-First POCO Generator?