На моем рабочем месте всегда есть аргумент "сделать все на уровне службы приложений", а не "делать все в процедуре БД".
То, что я получаю, заставляет сервер приложений и БД общаться слишком часто, это довольно дорогооперация.У меня вопрос - насколько это дорого?
Скажем, у нас есть этот пример - у меня есть список пользователей в моем Java-приложении, и мне нужно привязать определенный атрибут к каждому из них.Допустим, есть 20 пользователей и 20 атрибутов для хранения.Насколько дороже сделать 20 вызовов процедуры Oracle с использованием параметров (employee_id, attribute_value) вместо одного вызова и одновременной отправки всех employee_ids и их соответствующих attribute_values?
edit:
Ладно, может быть, я не четко изложил свой случай - я его немного "ошеломлю":)
Насколько дороже сделать n обращений к процедуре Oracle, которая выполняет 1 вставкувместо того, чтобы делать 1 вызов процедуры Oracle, которая делает n вставок (где n вставок в основном циклически повторяют 1 вставку n раз)?Причина, по которой это делается в n вызовах, а не в 1, состоит в том, что для новичка определенно проще написать цикл в Java, который выполняет n вызовов процедур с простыми типами данных в качестве входных объектов (например, целое число, varchar2 и т. Д.), Чем думатьспособа передачи массива из Java в Oracle.