Являются ли хранимые процедуры Java более медленными, чем PL / SQL в Oracle? - PullRequest
3 голосов
/ 19 января 2012

Это простой вопрос: знаете ли вы, если хранимые процедуры Java медленнее, чем PL / SQL в базе данных Oracle?

Мы перенесли хранимую процедуру из PL / SQL в Java только для ее сравнения, и она занимает примерно в два раза больше времени, чем в PL / SQL. Это тоже ваш опыт?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 19 января 2012

Всякий раз, когда вы переключаетесь между языками, у вас возникают накладные расходы, называемые переключением контекста.

(http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:60122715103602)

Существуют даже издержки при переходе между SQL и PL / SQL, и они очень тесно интегрированы. Поэтому перемещение между Java и PL / SQL всегда будет менее эффективным, чем чистый PL / SQL.

Хранимая процедура Java против хранимой процедуры PL / SQL

Что касается производительности после того, как произошло переключение контекста, ваш сравнительный анализ даст вам лучший ответ, кроме FWIW, поскольку PL / SQL настолько тесно интегрирован в базу данных Oracle, что он должен работать лучше, чем хранимый код Java, если выборка данных или взаимодействие с БД, если вы просто манипулируете уже извлеченными данными, это будет зависеть от того, что вы затем делаете с данными, и ваш тест покажет вам ответ.

1 голос
/ 08 августа 2012

Да. Ява всегда была самым толстым и медленным парнем на блоке.

Нет смысла переходить с pl / sql на java для 99% того, что вы можете сделать.

Я использую Java для тех нескольких случаев, которые мне нужны.

...