Junior — Middle
Čo je rýchlejšie — odstránenie údajov pomocou príkazu DELETE alebo vyprázdnenie tabuľky pomocou TRUNCATE?
sobes.tech AI
Odpoveď od AI
Príkaz TRUNCATE zvyčajne funguje rýchlejšie ako DELETE, keď je potrebné odstrániť všetky údaje z tabuľky. Je to spôsobené tým, že TRUNCATE neodstraňuje riadky po jednom, ale rýchlo vyprázdni celú tabuľku, často resetovaním stránok s údajmi a nezaznamenávaním jednotlivých operácií odstraňovania v transakčnom denníku.
Na rozdiel od DELETE, ktorý odstraňuje riadky po jednom a môže aktivovať spúšťače, TRUNCATE nespúšťa spúšťače a nemôže byť použitý s podmienkami WHERE — odstraňuje všetky údaje naraz.
Príklad:
-- Odstránenie všetkých riadkov (pomalšie)
DELETE FROM users;
-- Rýchle vyprázdnenie tabuľky
TRUNCATE TABLE users;
Ak chcete rýchlo vyprázdniť celú tabuľku, je lepšie použiť TRUNCATE.