使用DEBUG编译ORACLE包有什么影响

时间:2011-01-19 08:17:45

标签: oracle debugging plsql

我们在启用DEBUG选项的情况下编译所有Or​​acle包。这是我们的IDE(PLSQLDeveloper)的默认设置。因此,当我们在后台编译包时,执行以下操作:

ALTER PACKAGE emp_mgmt
   COMPILE DEBUG PACKAGE;

我想知道是否会对此产生任何性能影响。关于ALTER PACKAGE的Oracle文档没有提及任何相关内容。

3 个答案:

答案 0 :(得分:9)

optimizations that the PL/SQL compiler可以做的整个范围。

Setting the mode to debug is equivalent to setting the optimizer level to 1(禁用大多数优化)

因此它可能对性能产生重大影响。

答案 1 :(得分:4)

Oracle为IDE开发人员提供了一个Debug API。在使用DEBUG选项编译Package的情况下,可以使用该API设置断点。如果您使用DEBUG选项编译了所有包,则可以通过该API设置断点来操作系统!

所以我认为在调试模式下编译Packages比使用性能问题更具安全性问题。

修改 Oracle文档中的SET_BREAKPOINT Function

答案 2 :(得分:2)

使用debug选项进行编译肯定会影响性能。例如,一个简单的测试循环50,000次计算一个metaphone(许多字符串测试,如果那么......)在调试模式下花费两倍的时间。