Ошибка производительности при обновлении таблицы из другой таблицы

Я пытаюсь обновить данные старых клиентов новыми данными, поэтому в основном я обновляю имя и фамилию таблицы old_customer_source с именем и фамилией таблицы new_customer_source.

Я проиндексировал custid new_customer_source, но у меня нет привилегий для индексации old_customer_source custid.

Всего записей до обновленного ~ 50k, и они запрашивают более 30 минут для запуска!

У вас есть предложения по улучшению данного запроса Oracle ниже?

update old_customer_source t1 set (t1.firstname, t1.lastname) = ( select t2.firstname, t2.lastname from new_customer_source t2 where t1.custid = t2.custid ) where exists ( select 'x' from new_customer_source t3 where t1.custid = t3.custid ) 

Попробуйте использовать слияние.

 merge into old_customer_source t1 using (select t2.custid, t2.firstname, t2.lastname from new_customer_source t2 ) t2 on (t1.custid = t2.custid) when matched then update set t1.firstname = t2.firstname, t1.lastname = t2.lastname ;