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

Kha*_*lal 14 oracle plsql java-stored-procedures

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

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

Oll*_*lie 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外部程序中做到这一点,你可能需要认真思考为什么你需要这样做...