Oracle
 sql >> Base de données >  >> RDS >> Oracle

Différence entre TRUNCATE et DELETE ?

SUPPRIMER

  1. SUPPRIMER est une commande DML.
  2. L'instruction DELETE est exécutée à l'aide d'un verrou de ligne, chaque ligne de la table est verrouillée pour la suppression.
  3. Nous pouvons spécifier des filtres dans la clause where
  4. Il supprime les données spécifiées si la condition existe.
  5. La suppression active un déclencheur car les opérations sont enregistrées individuellement.
  6. Plus lent que truncate car il conserve les journaux.
  7. La restauration est possible.

TRONQUER

  1. TRUNCATE est une commande DDL.
  2. TRUNCATE TABLE verrouille toujours la table et la page mais pas chaque ligne.
  3. Impossible d'utiliser la condition Where.
  4. Il supprime toutes les données.
  5. TRUNCATE TABLE ne peut pas activer un déclencheur car l'opération n'enregistre pas les suppressions de lignes individuelles.
  6. Plus rapide en termes de performances, car il ne conserve aucun journal.
  7. La restauration n'est pas possible.