可能重复: Consolidate several Oracle triggers. Any performance impact?
问题:哪一个最适合(性能)?具有多触发器(约7-10),用于每个情况/目的,或一个触发器,用于处理所有情况(使用if等)。
详细信息:我们正在开发基于Oracle数据库的企业应用程序。我们有一个拥有大约3M行的表,这是我们的应用程序的基表。有几种情况我们只需要用触发器来处理。IMHO,为了维护,最好有多个触发器。但是表演呢?
发布于 2012-11-01 06:29:18
在我的例子中,一个触发器比多个小触发器要快得多。为什么我不知道。
发布于 2012-11-02 12:10:32
我看不出多个触发器的执行速度有多快。唯一的折中之处是他们不会执行条件逻辑,只节省很小的一秒。
这真的是一个设计/维护问题..。比方说,您想要对代码进行测试以提供计时信息:如果您有一个触发器,那么您只需要进入一个程序,而对于多个触发器,您需要到多个地方来测试代码。
另外,考虑使用CASE语句而不是IF (它更干净/更易于阅读/维护)。
https://stackoverflow.com/questions/13171999
复制相似问题