在Oracle DBMS中,从另一个PL/SQL存储过程中调用Java存储过程还是从另一个PL/SQL存储过程中调用PL/SQL存储过程获得更好的性能,这个取决于具体情况。
顺便说一下,如果我的PL/SQL存储过程中有一个循环,会多次调用Java存储过程(即我的代码在PL/SQL和Java存储过程之间切换),那么这会降低性能吗?
在Oracle DBMS中,从另一个PL/SQL存储过程中调用Java存储过程还是从另一个PL/SQL存储过程中调用PL/SQL存储过程获得更好的性能,这个取决于具体情况。
顺便说一下,如果我的PL/SQL存储过程中有一个循环,会多次调用Java存储过程(即我的代码在PL/SQL和Java存储过程之间切换),那么这会降低性能吗?
任何从一种语言切换到另一种语言都会涉及额外的开销(即使可能很小,但仍然存在)。如果它在一个循环中,这种开销会更加明显。
保持简单,如果可以就坚持使用PL/SQL。
Tom Kyte(Oracle公司副总裁和大师)有一个口头禅,似乎在这里重复一下比较合适:
(参考:http://tkyte.blogspot.com/2006/10/slow-by-slow.html)