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

Forskellen mellem TRUNCATE og DELETE?

SLET

  1. DELETE er en DML-kommando.
  2. DELETE-sætning udføres ved hjælp af en rækkelås, hver række i tabellen er låst til sletning.
  3. Vi kan angive filtre i where-sætning
  4. Den sletter specificerede data, hvis betingelsen eksisterer.
  5. Slet aktiverer en trigger, fordi handlingen logges individuelt.
  6. Langsommere end at afkorte, fordi den fører logfiler.
  7. Tilbageføring er mulig.

TRUNCATE

  1. TRUNCATE er en DDL-kommando.
  2. TRUNCATE TABLE låser altid tabellen og siden, men ikke hver række.
  3. Kan ikke bruge Where Condition.
  4. Det fjerner alle data.
  5. TRUNCATE TABLE kan ikke aktivere en trigger, fordi handlingen ikke logger individuelle rækkesletninger.
  6. Hurtigere med hensyn til ydeevne, fordi den ikke fører nogen logfiler.
  7. Tilbageføring er ikke mulig.


  1. MySQL-spørgsmål - Unik Key Fungerer ikke korrekt, eller misforstår jeg?

  2. SQL Flere kolonner i IN-klausul for at konvertere til JPA

  3. Sådan beregnes forskellen mellem to datoer i T-SQL

  4. Hvordan fjerner man dobbelte anførselstegn omkring teksten, mens man importerer en CSV-fil?