14

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

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

4

1 回答 1

12

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

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

Tom Kyte(甲骨文公司副总裁兼大师)有一句名言,似乎很适合在这里重复:

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

  • 如果可能,您应该在单个 SQL 语句中执行此操作。
  • 如果您不能在单个 SQL 语句中执行此操作,请在 PL/SQL 中执行。
  • 如果您不能在 PL/SQL 中执行此操作,请尝试使用 Java 存储过程。
  • 如果您不能在 Java 中执行此操作,请在 C 外部过程中执行此操作。
  • 如果您不能在 C 外部例程中执行此操作,您可能需要认真考虑为什么需要这样做……</li>
于 2011-08-19T15:41:30.107 回答