sql >> Database >  >> RDS >> Oracle

Verschil tussen TRUNCATE en DELETE?

VERWIJDEREN

  1. VERWIJDEREN is een DML-opdracht.
  2. DELETE-instructie wordt uitgevoerd met behulp van een rijvergrendeling, elke rij in de tabel is vergrendeld voor verwijdering.
  3. We kunnen filters specificeren in where-clausule
  4. Het verwijdert gespecificeerde gegevens als de voorwaarde bestaat.
  5. Verwijderen activeert een trigger omdat de bewerking afzonderlijk wordt vastgelegd.
  6. Langzamer dan afkappen omdat het logboeken bijhoudt.
  7. Terugdraaien is mogelijk.

TRUNCATE

  1. TRUNCATE is een DDL-commando.
  2. TRUNCATE TABLE vergrendelt altijd de tabel en pagina, maar niet elke rij.
  3. Kan Where-voorwaarde niet gebruiken.
  4. Het verwijdert alle gegevens.
  5. TRUNCATE TABLE kan geen trigger activeren omdat de bewerking geen afzonderlijke rijverwijderingen registreert.
  6. Sneller qua prestaties, omdat het geen logboeken bijhoudt.
  7. Terugdraaien is niet mogelijk.


  1. Meerdere geparametriseerde variabelen toevoegen aan een database in c#

  2. Spring JDBC-verbindingspool en InputStream-resultaten

  3. com.mysql.jdbc.PacketTooBigException

  4. Android Room Embedded Relation negeert SQL waar voorwaarde