我们在启用调试选项的情况下编译所有Oracle包。这是我们的集成开发环境(PLSQLDeveloper)的默认设置。因此,当我们在后台编译一个包时,会执行以下代码:
ALTER PACKAGE emp_mgmt
COMPILE DEBUG PACKAGE;我想知道这是否会对性能产生影响。关于ALTER PACKAGE的Oracle文档没有提到任何关于这方面的内容。
发布于 2011-01-20 07:00:47
有一系列optimizations that the PL/SQL compiler可以做到这一点。
Setting the mode to debug is equivalent to setting the optimizer level to 1 (禁用大多数优化)
因此,它可能会对性能产生重大影响。
发布于 2011-01-19 17:30:53
Oracle为IDE开发人员提供了Debug API。在使用DEBUG选项编译包的情况下,可以使用该API设置断点。如果您使用DEBUG选项编译所有包,则有人可以通过该API设置断点来操纵系统!
所以我认为在调试模式下编译包更多的是一个安全问题而不是性能问题。
编辑: Oracle文档中的 SET_BREAKPOINT Function
发布于 2013-03-28 02:50:50
使用debug选项进行编译肯定会影响性能。一个简单的测试,循环50,000次,例如,计算一个变音位(很多字符串测试,如果是,否则……)在调试模式下需要两倍的时间。
https://stackoverflow.com/questions/4733091
复制相似问题