【问题标题】:Performance effect of Trigger and SP in Sql Server [closed]Sql Server中Trigger和SP的性能影响[关闭]
【发布时间】:2013-08-21 03:07:24
【问题描述】:

我想知道TriggerSPSql Server DB 上的性能Effect。 我知道TriggerSP 之间的区别。但我对触发器的Performance 感到困惑。触发器是Slower 还是 SP?在不同的文章中,我研究过触发器也是 SP。所以这意味着触发器不会影响Performance。我对吗?谁能给我解释一下。

提前致谢。

【问题讨论】:

    标签: sql sql-server stored-procedures triggers


    【解决方案1】:

    我可以制作一个性能非常糟糕的触发器,或者一个你永远不会注意到的触发器。对于存储过程也是如此。重要的是您放入其中的代码。

    它们可以用于完全不同的目的。存储过程用于接受输入、影响数据等。有时不接受(例如,存储过程可能不接受输入或影响数据)。触发器用于确保当一个表对其执行某些操作时,会执行某些其他后续操作。例如,当更新一行时,LastModified 列可以由触发器更新,而用户无需将该列编码到他们的UPDATE 中。虽然您在触发器中执行的某些逻辑可以在存储过程中执行,但触发器可用于保护您免受无法通过存储过程强制执行数据访问的情况。如果您的开发人员直接更新表而不是使用存储过程,那么更新 LastModified 列的存储过程有什么好处?

    因此,实际上,您的问题类似于:“哪个味道更好,火腿三明治还是花生酱曲奇?”那要看你的心情是什么,对吧?没有一个神奇的公式可以告诉你一个比另一个更好还是更快——它们有不同的用途。人们对视图和程序提出了类似的比较请求——同样,它们服务于不同的目的,并且没有一个相对于另一个的固有性能优势。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多