По принцип да - подслушването на параметри (в някои нива на корекция на) SQL Server 2005 е силно повреден. Виждал съм планове, които на практика никога не завършват (в рамките на часове на малък набор от данни) дори за малки (няколко хиляди реда) набори от данни, които завършват за секунди, след като параметрите са маскирани. И това е в случаите, когато параметърът винаги е бил едно и също число. Бих добавил, че в същото време, когато се занимавах с това, открих много проблеми с LEFT JOIN/NULL, които не се завършват и ги замених с NOT IN или NOT EXISTS и това разреши плана до нещо, което ще завърши. Отново, проблем с (много лош) план за изпълнение. По времето, когато се занимавах с това, DBA нямаше да ми дадат достъп до SHOWPLAN и тъй като започнах да маскирам всеки SP параметър, не съм имал никакви допълнителни проблеми с плана за изпълнение, при които бих трябвало да копая в това за незавършване .
В SQL Server 2008 можете да използвате OPTIMIZE FOR UNKNOWN
.