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
.