用DEBUG编译ORACLE包有什么影响

发布于 2024-10-12 10:33:37 字数 353 浏览 1 评论 0原文

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

ALTER PACKAGE emp_mgmt
   COMPILE DEBUG PACKAGE;

我想知道这是否会产生任何性能后果。关于 ALTER PACKAGE 的 Oracle 文档没有提及与此有关的任何事情。

we compile all our Oracle Packages with the DEBUG option enabled. This is the default for our IDE (PLSQLDeveloper). So when we compile a package in the background the following is executed:

ALTER PACKAGE emp_mgmt
   COMPILE DEBUG PACKAGE;

I wonder if there are any performance consequences for this. The Oracle docs about ALTER PACKAGE do not mention anything about this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不语却知心 2024-10-19 10:33:37

PL/SQL 编译器有一系列优化 可以做。

将模式设置为调试相当于将优化器级别设置为 1< /a> (禁用大部分优化)

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

There's a whole range of optimizations that the PL/SQL compiler can do.

Setting the mode to debug is equivalent to setting the optimizer level to 1 (disabling most of the optimizations)

So it could have a significant impact on performance.

婴鹅 2024-10-19 10:33:37

Oracle 为 IDE 开发人员提供了调试 API。如果使用 DEBUG 选项编译包,则可以使用该 API 设置断点。如果您使用 DEBUG 选项编译了所有包,那么有人可以通过该 API 设置断点来操纵系统!

所以我认为在调试模式下编译包更多的是一个安全问题而不是性能问题。

编辑:
SET_BREAKPOINT 函数

Oracle provides a Debug API for IDE developers. In the case that a Package is compiled with the DEBUG option, it is possible to set breaktpoints with that API. If you compiled all packages with the DEBUG option, someone can set a breakpoint via that API to manipulate the system!

So I think it is more an security issue than a preformance problem to compile Packages in debug mode.

EDIT:
SET_BREAKPOINT Function in the Oracle documentation

深府石板幽径 2024-10-19 10:33:37

使用调试选项进行编译肯定会影响性能。例如,循环 50,000 次计算变音位的简单测试(大量字符串测试,if then else ...)在调试模式下需要两倍的时间。

Compiling with the debug option definitely affects performance. A simple test that loops 50,000 times calculating a metaphone for example (lots of string tests, if then else ...) takes twice the time in debug mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文