Junior — Middle
Które polecenie — TRUNCATE czy DELETE — jest szybsze podczas czyszczenia tabeli w bazie danych?
sobes.tech AI
Odpowiedź od AI
Polecenie TRUNCATE jest zwykle wykonywane szybciej niż DELETE podczas czyszczenia całej tabeli. Wynika to z faktu, że TRUNCATE nie usuwa wierszy pojedynczo, lecz po prostu resetuje dane tabeli, zwalniając strony danych i resetując liczniki, co jest znacznie szybsze. Podczas gdy DELETE usuwa wiersze pojedynczo, co może być wolniejsze, szczególnie przy dużej ilości danych, i generuje więcej dzienników transakcji. Jednak DELETE pozwala na użycie warunków WHERE i wyzwalaczy, podczas gdy TRUNCATE nie.