Kategoria: SQL Dodane przez marcin90

Jaka jest różnica pomiędzy TRUNCATE a DELETE?

1 odpowiedź

2 0 Dodane 10-06-2018 przez marcin90
Najważniejsza różnica jest taka, że TRUNCATE działa o wiele szybciej od DELETE. Wynika to z mechanizmu działania tych poleceń.
  • DELETE usuwa wiersze jeden po drugim i tworzy wpis w dzienniku transakcji dla każdego usuniętego wpisu
  • TRUNCATE usuwa strony przechowujące dane i tworzy wpis jedynie dla tych stron
  • DELETE wywołuje triggery, TRUNCATE nie
  • TRUNCATE resetuje opcję AUTOINCREMENT na danej kolumnie do wartości początkowych
  • w poleceniu DELETE można użyć klauzuli WHERE by usunąć jedynie pożądane dane
  • TRUNCATE usuwa wszystkie dane, brak możliwości filtrowania
  • dane usunięte poleceniem DELETE można przywrócić, zmiany spowodowane poleceniem TRUNCATE sa nieodwracalne

Dodaj swoją wersję odpowiedzi

Dodajesz odpowiedź jako gość. Zaloguj się się by uzyskać dostęp do rankingu oraz powiadomień.