我们在启用DEBUG选项的情况下编译所有Oracle包。这是我们的IDE(PLSQLDeveloper)的默认设置。因此,当我们在后台编译包时,执行以下操作:
ALTER PACKAGE emp_mgmt
COMPILE DEBUG PACKAGE;
我想知道是否会对此产生任何性能影响。关于ALTER PACKAGE的Oracle文档没有提及任何相关内容。
答案 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(许多字符串测试,如果那么......)在调试模式下花费两倍的时间。