sql >> Database teknologi >  >> RDS >> Mysql

sammenligning af truncate vs delete i mysql/sqlserver

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 logs.
  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 logs.
  7. Tilbageføring er mulig.


  • DELETE og TRUNCATE kan begge rulles tilbage, når de bruges med TRANSACTION (TRUNCATE kan rulles tilbage i SQL Server, men ikke i MySQL).
  • hvis der er en PK med automatisk stigning, skal afkortning nulstille tælleren

http://beginner-sql-tutorial.com/sql-delete-statement .htm



  1. Hvordan indsætter man data i Winform TreeView(C#) i effektiv kodning?

  2. Find sql-poster, der indeholder lignende strenge

  3. MySQL Error 1 (HY000) Problemer med oprettelse af fil Errcode 2

  4. Kan ikke kopiere tabel til en anden database med pg_dump