我想知道Effect
上Trigger
和SP
的效果Sql Server DB
。
我知道Trigger
和SP
之间的区别。但我对触发器的Performance
感到困惑。触发器是Slower
而不是SP吗?在差异文章中,我研究过触发器也是SP。所以这意味着触发器不会影响Performance
。我对吗?任何人都可以向我解释。
先谢谢。
答案 0 :(得分:1)
我可以制作一个非常棒的触发器,或者一个你永远不会注意到的触发器。类似地,对于存储过程。重要的是你输入的代码。
它们可以用于完全不同的目的。存储过程用于接受输入,影响数据等。或者有时不接受(例如,存储过程可能不接受输入或影响数据)。触发器用于确保当一个表对其执行某些操作时,采取其他一些后续操作。例如,当更新行时,可以通过触发器更新LastModified
列,而无需用户将该列编码到其UPDATE
中。虽然您在触发器中执行的某些逻辑可以在存储过程中执行,但可以使用触发器来保护您免受无法通过存储过程强制执行数据访问的情况。如果开发人员直接更新表而不是使用存储过程,那么更新LastModified
列的存储过程有什么用呢?
所以,实际上,你的问题是:“味道更好,火腿三明治还是花生酱饼干?”取决于你的心情,对吧?没有神奇的公式会告诉你一个人是否比另一个更好或更快 - 他们服务于不同的目的。人们对观点和程序提出了类似的比较请求 - 同样,它们用于不同的目的,并且一方面没有固有的性能优势。