• The problem with Parameter Sniffing occurs where the execution plan is optimized for small data as a result (here SQL can be quite lazy) and you mostly want big data, where a good execution plan is better.

    we had an instance of this a few months ago - execution plans were refreshed and the first parameter passed returned a few rows only when normally there are quite a few more rows expected. End result: The SP ran like a three legged dog dragging a Challenger tank when normally it ran like a greyhound. Took a while to track down why and to fix the problem so we wouldn't have this again. However, the recommendation is to let SQL sort out the Execution plan and that includes Parameter Sniffing - only 'fix' the sniffing if it is actually causing a problem. And to know that you need to do regular health checks.