Việc xóa 3,7 triệu hàng rất tốn thời gian, vì bạn phải tìm kiếm từng hàng rồi ghi nhật ký và xóa các hàng. Chỉ nghĩ về tất cả các trang bẩn, ghi nhật ký và bỏ sót bộ nhớ cache là bạn cảm thấy bối rối - chưa kể đến các bản cập nhật cho các chỉ mục.
Vì lý do đó, một cái gì đó như thế này có thể nhanh hơn nhiều:
create temporary table temp_n2p as
select n2p.*
from "target".name2phoneme n2p
where not exists (select 1
from delta.name2phoneme d
where n2p.NAME_ID = d.NAME_ID and
n2p.PHONEME_ID = d.PHONEME_ID
);
truncate table "target".name2phoneme;
insert into "target".name2phoneme
select *
from temp_n2p;
Bạn cũng nên loại bỏ các chỉ mục trước khi cắt bớt và sau đó tạo lại chúng sau đó.