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

Differenza tra TRUNCATE e DELETE?

ELIMINA

  1. DELETE è un comando DML.
  2. L'istruzione DELETE viene eseguita utilizzando un blocco di riga, ogni riga nella tabella è bloccata per l'eliminazione.
  3. Possiamo specificare filtri nella clausola where
  4. Elimina i dati specificati se esiste la condizione.
  5. Elimina attiva un trigger perché l'operazione viene registrata individualmente.
  6. Più lento di troncare perché mantiene i log.
  7. Il rollback è possibile.

TRONCA

  1. TRUNCATE è un comando DDL.
  2. TRUNCATE TABLE blocca sempre la tabella e la pagina ma non ogni riga.
  3. Impossibile utilizzare Where Condition.
  4. Rimuove tutti i dati.
  5. TRUNCATE TABLE non può attivare un trigger perché l'operazione non registra le eliminazioni di singole righe.
  6. Più veloce in termini di prestazioni, perché non mantiene alcun registro.
  7. Il rollback non è possibile.