Oracle
 sql >> Database >  >> RDS >> Oracle

Strategia per migliorare le prestazioni di Oracle DELETE

L'eliminazione dei dati è un lavoro infernale, per il database. Deve creare prima le immagini, aggiornare gli indici, scrivere i registri di ripristino e rimuovere i dati. Questo è un processo lento. Se puoi avere una finestra per eseguire questa attività, il modo più semplice e veloce è creare nuove tabelle, contenenti i dati desiderati. Elimina le vecchie tabelle e rinomina le nuove tabelle. Ciò richiede un po' di lavoro di configurazione, che è ovvio ma è molto ben possibile farlo. Un passaggio meno drastico consiste nell'eliminare gli indici prima che avvenga l'eliminazione. Il mio voto andrebbe per CTAS (Create Table As Select from) e costruire le nuove tabelle. Uno schema di partizionamento carino sarebbe sicuramente utile, forse nella prossima versione Oracle può combinare il partizionamento a intervalli e di riferimento. Sarebbe molto bello averlo.

La disabilitazione della registrazione .... non può essere eseguita per le eliminazioni ma CTAS può utilizzare il nologging. Quando sei pronto, fai un backup e assicurati di trasferire i file di dati nel database di standby, se ne hai uno.