Grundlæggende ja - parametersniffing (i nogle patch-niveauer af) SQL Server 2005 er dårligt ødelagt. Jeg har set planer, der faktisk aldrig fuldføres (inden for få timer på et lille datasæt) selv for små (få tusinde rækker) datasæt, som afsluttes på få sekunder, når parametrene er maskeret. Og det er i tilfælde, hvor parameteren altid har været det samme tal. Jeg vil tilføje, at på samme tid, som jeg beskæftigede mig med dette, fandt jeg en masse problemer med, at LEFT JOIN/NULLs ikke blev fuldført, og jeg erstattede dem med NOT IN or NOT EXISTS, og dette løste planen til noget, der ville fuldføre. Igen, et (meget dårligt) spørgsmål om udførelsesplan. På det tidspunkt, jeg beskæftigede mig med dette, ville DBA'erne ikke give mig SHOWPLAN-adgang, og siden jeg begyndte at maskere hver SP-parameter, har jeg ikke haft yderligere problemer med eksekveringsplanen, hvor jeg skulle grave ind i dette for ikke-fuldførelse .
I SQL Server 2008 kan du bruge OPTIMIZE FOR UNKNOWN
.