Каков наилучший способ скопировать данные из связанных таблиц в другие связанные таблицы с той же схемой.Таблица связана с отношением один-ко-многим.
Рассмотрим следующую схему
firm
id | name | city.id (FK)
employee
id | lastname | firm.id (FK)
firm2
id | name | city_id (FK)
employee2
id | lastname |firm2.id (FK)
Что я хочу сделать, это скопировать строки из firm
с конкретными city.id
в firm2
а и их employees
, связанных с фирмой к столу employee2
.
Я использую posgresql 9.0, поэтому мне нужно вызвать SELECT nextval('seq_name')
, чтобы получить новый идентификатор для таблицы.
Сейчас я выполняю этот запрос, просто перебирая все строки в бэкэнд-сервере Java, но на огромномОбъем данных (50 000 сотрудников и 2000 фирм) занимает слишком много времени (1-3 минуты).
Мне интересно, есть ли еще один более хитрый способ сделать это, например, выбрать данные во временнуюТаблица?Или, возможно, использовать процедуру сохранения и перебирать строки с помощью cursror, чтобы избежать буферизации на моем внутреннем сервере?