Java 存储过程与 PL/SQL 存储过程

发布于 2024-11-26 13:05:03 字数 175 浏览 3 评论 0原文

在Oracle DBMS中,从另一个pl/sql存储过程调用一个java存储过程或者从另一个pl/sql存储过程调用一个pl/sql存储过程,哪个性能更好。

顺便说一句,我的 pl/sql 过程中有一个循环,它将多次调用 java 过程(即我的代码在 PL/SQL 和 Java 存储过程之间切换),所以这会降低性能吗?

In Oracle DBMS, which is better performance, calling a java stored procedure from another pl/sql stored procedure or calling a pl/sql stored procedure from another pl/sql stored procedure.

By the way I have a loop in my pl/sql procedure that will call the java procedure multiple times (i.e. my code is flipping between PL/SQL and Java Stored Procedures), so does this slow down the performance)?

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

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

发布评论

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

评论(1

弄潮 2024-12-03 13:05:03

从一种语言到另一种语言的任何切换都会产生开销(它可能很小,但仍然存在)。如果它处于循环中,它将被强调。

保持简单,如果您可以坚持使用 PL/SQL,那么就这样做。

Tom Kyte(Oracle 公司副总裁兼大师)有一句口头禅似乎很适合在这里重复:(

参考:http://tkyte.blogspot.com/2006/10/slow-by-slow.html)

  • 如果可能的话,您应该在单个 SQL 语句中完成此操作。
  • 如果您无法在单个 SQL 语句中完成此操作,请在 PL/SQL 中完成。
  • 如果无法在 PL/SQL 中完成此操作,请尝试 Java 存储过程。
  • 如果无法在 Java 中执行此操作,请在 C 外部过程中执行此操作。
  • 如果你不能在 C 外部例程中做到这一点,你可能需要认真思考为什么你需要这样做......

Any switch from one language to another will involve an overhead (it might be small but it'll still be there). If it's in a loop it will be accentuated.

Keep it simple and if you can stick to PL/SQL then do so.

Tom Kyte (Oracle Corporation Vice President and Guru) has a mantra which seems fitting to repeat here:

(Reference: http://tkyte.blogspot.com/2006/10/slow-by-slow.html)

  • You should do it in a single SQL statement if at all possible.
  • If you cannot do it in a single SQL Statement, then do it in PL/SQL.
  • If you cannot do it in PL/SQL, try a Java Stored Procedure.
  • If you cannot do it in Java, do it in a C external procedure.
  • If you cannot do it in a C external routine, you might want to seriously think about why it is you need to do it…
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文