Sobes.tech
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.