标签: sql sql-server-2008
我有一个带有名为@MatterNumber的参数的存储过程,其默认值为null。在where子句中有以下行:
and (m.Name like @MatterName or @MatterName is null)
当针对某些数据测试proc时,执行需要30秒以上。如果我将上面的行替换为下面的行,它几乎会立即执行。两条线之间有什么区别?为什么?
and m.Name like isnull(@MatterName, '%')