У меня есть процедура с двумя таблицами ABC и EXT_ABC.В таблицу EXT_ABC загружаются ежедневные данные (EXT_ABC усекается в конце каждого дня), а в ABC загружаются ежедневные данные из EXT_ABC для ведения истории. Теперь когда-нибудь EXT_ABC приносит обновленные данные для идентификатора, уже существующего в таблице ABC, поэтому мы используем следующую логику.
DELETE FROM ABC WHERE ID IN ( SELECT ID FROM EXT_ABC);
commit;
INSERT INTO ABC
select * from EXT_ABC;
Является ли приведенная выше логика быстрой, или я могу сделать следующее, чтобы оптимизировать процесс как.
INSERT INTO ABC
select * from EXT_ABC where ID not in (SELECT ID FROM ABC );
Обе таблицы имеют столбец Индекс по идентификатору.