sql >> Databasteknik >  >> RDS >> Oracle

Skillnaden mellan TRUNCATE och DELETE?

DELETE

  1. DELETE är ett DML-kommando.
  2. DELETE-satsen körs med ett radlås, varje rad i tabellen är låst för radering.
  3. Vi kan ange filter i where-satsen
  4. Den raderar specificerad data om villkoret finns.
  5. Ta bort aktiverar en utlösare eftersom operationen loggas individuellt.
  6. Långsammare än att trunkera eftersom den håller loggar.
  7. Återställning är möjlig.

TRUNCATE

  1. TRUNCATE är ett DDL-kommando.
  2. TRUNCATE TABLE låser alltid tabellen och sidan men inte varje rad.
  3. Kan inte använda Where Condition.
  4. Det tar bort all data.
  5. TRUNCATE TABLE kan inte aktivera en utlösare eftersom operationen inte loggar borttagningar av enskilda rader.
  6. Snabbare prestandamässigt, eftersom den inte för några loggar.
  7. Återställning är inte möjlig.


  1. Anslut med i Oracle SQL

  2. Rank() SQL eller något liknande

  3. Tips för att migrera från HAProxy till ProxySQL

  4. Exekveringsordning för villkor i SQL 'where'-sats