SkillsTest.pl SQL pytania i zadania rekrutacyjne Jaka jest różnica pomiędzy TRUNCATE a DELETE?

: 2017-09-07 | Nr 4 z 24

Pytanie

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

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

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka