ELIMINA
- DELETE è un comando DML.
- L'istruzione DELETE viene eseguita utilizzando un blocco di riga, ogni riga nella tabella è bloccata per l'eliminazione.
- Possiamo specificare filtri nella clausola where
- Elimina i dati specificati se esiste la condizione.
- Elimina attiva un trigger perché l'operazione viene registrata individualmente.
- Più lento di troncare perché mantiene i log.
- Il rollback è possibile.
TRONCA
- TRUNCATE è un comando DDL.
- TRUNCATE TABLE blocca sempre la tabella e la pagina ma non ogni riga.
- Impossibile utilizzare Where Condition.
- Rimuove tutti i dati.
- TRUNCATE TABLE non può attivare un trigger perché l'operazione non registra le eliminazioni di singole righe.
- Più veloce in termini di prestazioni, perché non mantiene alcun registro.
- Il rollback non è possibile.