使用SQL Server 2008,我有一个简单的存储过程,其内容是你是否总是期望参数嗅探引起的问题?
DELETE FROM [ABC].[dbo].[LookUpPermissions]
WHERE Code = @Code
在最近的代码审查,DBA说我应该“增加参数嗅探”,我相信意味着我应该考虑参数嗅探。我从来没有这样做过,我没有任何性能问题与查询,所以我认为这是没有必要的。
虽然我认为答案可能是用户偏好,但是最好的做法是解释参数嗅探?存储过程是否需要在小数据集上调用,不常使用并且没有性能问题?
编辑
这是仅适用于使用的参数WHERE子句,或例如,你可能需要在INSERT语句考虑到所有的参数?
[相关 - 如果你总是使用'OPTIMIZE FOR UNKNOWN'](http://stackoverflow.com/q/4376313/73226) – 2011-12-22 20:10:28