Różnica między TRUNCATE a DELETE

Oba usuwają wiersz z tabeli – TRUNCATE wszystkie, DELETE dowolnie wybrane przez użytkownika. Główna i najważniejsza różnica to, że TRUNCATE jest szybszy od DELETE, a zawdzięcza to temu, że nie zapisuje każdej operacji usunięcia w logach. Natomiast DELETE loguje wszystkie zmiany, przez co jest wolniejszy.
Mały update jeszcze:
Jeśli na jakimś polu mamy autoincrement, to po TRUNCATE indeks ten zostanie zresetowany i nowe rekordy będą numerowane od 1. Natomiast po użyciu DELETE resetu nie będzie.