SLET
- DELETE er en DML-kommando.
- DELETE-sætning udføres ved hjælp af en rækkelås, hver række i tabellen er låst til sletning.
- Vi kan angive filtre i where-sætning
- Den sletter specificerede data, hvis betingelsen eksisterer.
- Slet aktiverer en trigger, fordi handlingen logges individuelt.
- Langsommere end at afkorte, fordi den fører logs.
- Tilbageføring er mulig.
TRUNCATE
- TRUNCATE er en DDL-kommando.
- TRUNCATE TABLE låser altid tabellen og siden, men ikke hver række.
- Kan ikke bruge Where Condition.
- Det fjerner alle data.
- TRUNCATE TABLE kan ikke aktivere en trigger, fordi handlingen ikke logger individuelle rækkesletninger.
- Hurtigere med hensyn til ydeevne, fordi den ikke fører nogen logs.
- 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