3
A
回答
7
执行触发器总是会有一些开销 - 至少,您正在为导致触发器触发的每一行执行从SQL引擎到PL/SQL引擎的上下文转换。尽管触发触发器的开销的绝对量是相对恒定的,但是根据你如何在做DML,开销的百分比是高度可变的。如果您的应用程序正在添加或修改集合中的行,这是对关系数据进行操作的最快方式,则触发器对性能的相对影响要大得多,因为这些上下文变化的成本加上实际触发器的成本这样做会很快控制执行触发DML的成本。
理论上,可以使用触发器来执行复杂的约束,因为触发器可以查询其他表或调用函数来执行复杂的比较。然而,在实践中,如果不是不可能在多用户环境中以实际上正确的方式编码这些触发器是非常困难的,所以设计一个系统时通常不是一个好主意,该系统需要跨数据查看数据的约束表。这通常表明数据模型存在问题。
3
这是一个非常开放的问题(可能是家庭作业的任务?)。 Oracle Concepts Guide section on triggers是开始了解它们的好地方。
2
只是一个链接到汤姆凯特有趣的职位约trigger vs declarative constraint。
相关问题
- 1. SQL触发器在Oracle中
- 2. mysql触发器到oracle触发器
- 3. Oracle触发器:raise_application_error
- 4. Oracle 10g触发器
- 5. SQL Oracle触发器
- 6. 从Oracle触发器
- 7. Oracle SQL(触发器)
- 8. Oracle SQL触发器
- 9. ORACLE 11g触发器
- 10. 触发器在Oracle中无效
- 11. 在oracle中创建触发器
- 12. 在oracle中导入触发器sql developer
- 13. Oracle触发器在DBA_SOURCE中未显示
- 14. 获取触发Oracle触发器的值
- 15. Oracle AFTER INSERT触发器未触发
- 16. 从触发器中禁用触发器Oracle
- 17. 在oracle中触发事件
- 18. Oracle触发器权限
- 19. ORACLE触发器INSERT更新
- 20. Oracle之前INSERT触发器
- 21. CREATE触发器帮助Oracle
- 22. Oracle触发器不更新
- 23. ORACLE回滚和触发器
- 24. Oracle 10gR2触发器错误
- 25. oracle触发器查询
- 26. 创建触发器ORACLE
- 27. Oracle - 触发器错误
- 28. Oracle触发器INSERT INTO ...(SELECT * ...)
- 29. Oracle触发器查询
- 30. ORACLE SQL触发器和SUM()