Aby uniknąć zapisywania w dzienniku cofania Oracle, jeśli Twoja update
instrukcja uderza w każdy wiersz tabeli, wtedy prawdopodobnie lepiej będzie uruchomić create table as select
zapytanie, które pominie wszystkie dzienniki cofania, co prawdopodobnie jest problemem, z którym się spotykasz, ponieważ rejestruje wpływ w 60 milionach wierszy. Następnie możesz usunąć starą tabelę i zmienić nazwę nowej tabeli na nazwę starej tabeli.
Coś takiego:
create table new_people as
select l.newid,
p.col2,
p.col3,
p.col4,
p.col5
from people p
join id_conversion l
on p.id = l.id;
drop table people;
-- rebuild any constraints and indexes
-- from old people table to new people table
alter table new_people rename to people;
Aby uzyskać więcej informacji, przeczytaj kilka wskazówek tutaj:http://www.dba-oracle.com /t_efficient_update_sql_dml_tips.htm
Jeśli zasadniczo tworzysz nową tabelę, a nie tylko aktualizujesz niektóre wiersze tabeli, prawdopodobnie okaże się to szybszą metodą.