Мне нужно обновить столбец в одной таблице с содержимым из столбца в другой таблице в Oracle. Поскольку в каждой из этих таблиц содержится около 4 миллионов записей, я столкнулся с трудностями при обновлении.
Таблица A Структура (промежуточный стол)
Col1 Col2 Col3 Col4
L1 P1 PC1 D1
L2 P2 PC2 D1
L3 P3 PC3 D2
L4 P3 PC3 D3
Таблица B Структура
Col1 Col2 Col3
E1 P1 F1
E2 P1 F2
E3 P2 F3
E4 P3 F4
E5 P4 F5
Мне нужно обновить Col3 в таблице B со значением из Col4 из таблицы A , когда есть совпадение для Col2 в таблица A и B .
Я попытался с помощью команды слияния, но поскольку в этих 2 таблицах миллионы записей, у нас возникают проблемы с пространством для временной таблицы.
Команда слияния, которую я использовал, была
merge into b
using
(select col2,col4 from a) c
on c.col2=b.col2
when matched then update set b.col3=c.col4;
Есть ли лучший подход для обработки этого массового обновления?