У меня есть вопрос о производительности обработки SQL в вложенных форм в Perl DBI.
В основном сценарий
подключается к DB1
подключается к DB2
извлекает данные из DBI
внутри цикла while
использует данные из DB1 и создает оператор обновления или вставки
выполняет sql в DB2
отсоединяется от DB2
отсоединяетсяDB1
Теперь вопрос в том, является ли это наилучшей практикой, когда речь идет о производительности, или метод ниже - лучшая альтернатива.
получить дату из DB1
записать данные в промежуточный файл
получить данные из промежуточного файла
process the data to udpate in DB2.
Изменить: я добавил подключиться к DB2 после подключения к DB1.но это не то, что я пытаюсь сделать.это больше касается вопроса о производительности ввода-вывода и системных вызовов, которые сервер выполняет для чтения с сервера базы данных и диска, на котором хранятся данные.
, если вы посмотрите на первый подход.
внутри петли.скрипт получает одну строку данных из DB1 и ожидает обработки возвращенных данных в DB2.
, если есть тысячи записей, как это влияет на производительность, когда вы делаете тысячи системных вызовов на сервер для чтения данных с диска