Мне нужно скопировать данные из файла в базу данных PostgreSQL. Для этой цели я анализирую этот файл с помощью bash в цикле и создаю соответствующие вставки. Беда в том, что для выполнения этого цикла требуется много времени.PostgreSQL: Выполнять запросы в циклах - проблемы с производительностью
1) Что я могу сделать, чтобы ускорить этот цикл? Должен ли я открыть какое-то соединение перед циклом и закрыть его после?
2) Должен ли я использовать временный текстовый файл внутри цикла, чтобы записывать там уникальные значения и искать в нем с помощью текстовой утилиты вместо того, чтобы записывать их в базу данных и выполнять поиск там?
Я использую bash. Это имеет значение? – Giperboloid
bash не разговаривает с Postgres, по крайней мере, насколько я знаю. Вы вызываете psql из своего сценария bash? Является ли цикл в вашем сценарии bash? Если это так, то вы также добавляете накладные расходы для подключения и отключения к базе данных для каждой строки в файле. Команда 'copy', вероятно, способ пойти, будет стоить усилий, даже если вам нужно обработать файл, чтобы получить его в приемлемом формате. – Bill