Подтвердить что ты не робот

Хранимая процедура Java Vs PL/SQL Сохраненная процедура

В СУБД Oracle, которая является лучшей производительностью, вызов хранимой процедуры Java из другой хранимой процедуры pl/sql или вызов хранимой процедуры pl/sql из другой хранимой процедуры pl/sql.

Кстати, у меня есть цикл в моей процедуре pl/sql, которая будет вызывать java-процедуру несколько раз (т.е. мой код переливается между PL/SQL и хранимыми процедурами Java), так это замедляет производительность)?

4b9b3361

Ответ 1

Любой переход с одного языка на другой будет включать в себя накладные расходы (он может быть небольшим, но он все равно будет там). Если он в цикле будет акцентирован.

Держите его простым, и если вы можете придерживаться PL/SQL, тогда сделайте это.

Том Ките (вице-президент корпорации Oracle и Гуру) имеет мантру, которая, похоже, повторяет здесь:

(Ссылка: http://tkyte.blogspot.com/2006/10/slow-by-slow.html)

  • Вы должны сделать это в одном выражении SQL, если это вообще возможно.
  • Если вы не можете сделать это в одном SQL-заявлении, сделайте это в PL/SQL.
  • Если вы не можете сделать это в PL/SQL, попробуйте выполнить хранимую процедуру Java.
  • Если вы не можете сделать это на Java, сделайте это в внешней процедуре C.
  • Если вы не можете сделать это во внешней подпрограмме C, вы можете серьезно подумать, зачем вам это нужно...