Сравнение производительности хранимой процедуры, написанная в PL/SQL против Java
-
29-09-2019 - |
Вопрос
После прохождения обсуждения здесь У меня сейчас еще один вопрос.
Предположим, есть предприятие Уровень применения с миллионом пользовательской базы и миллионы транзакций каждый день. Производительность, что было бы лучше.
- Java хранимая процедура
- Или Oracle, хранящиеся процедуры (PL/SQL)
PS: Когда я говорю предприятие Разработка приложений, я имел в виду его от точки зрения разработчиков, где у нас разные слои абстракции. Тестирующие рамки. Автоматическое тестирование развернуто на нескольких лезвиях и обширной отладке и т. Д.
Решение
Я подозреваю, что проблемы с производительностью сводится к тому, какие операции базы данных вы делаете. Однако очень важной проблемой для меня при работе с базами данных является тестируемость. Много раз я находился в проектах, с которыми слишком ориентированы на базу данных - где мы получаем тонны бизнес -логики, которую я не могу тестировать, проверить или, возможно, даже изменить.
Я всегда для прагматичного выбора - все в правильном месте. И для некоторых вещей вы действительно должны держать его в базе данных. Но это проблема, на которую стоит подумать.
Другие советы
Я не могу представить, что между двумя приложениями будет много раз разницы, если для большинства приложений, если только ваши сохраненные процедуры не являются высокочительно-тяжелыми (и обратите внимание, что я имею в виду вычисления в самой процедуре, а не вычисления, участвующие в выполнении отдельных операторов SQL).
Теперь, что касается разницы между сохраненными процедурами, в целом и обычным кодом приложения, это другая история.