Junior — Middle
Mi gyorsabb — adatok törlése a DELETE parancs segítségével vagy a tábla TRUNCATE-olása?
sobes.tech MI
Válasz az MI-től
A TRUNCATE parancs általában gyorsabban működik, mint a DELETE, amikor az összes adatot törölni kell egy táblából. Ez azért van, mert a TRUNCATE nem soronként töröl, hanem gyorsan kiüríti az egész táblát, gyakran az adatlapokat alaphelyzetbe állítva, és nem rögzíti az egyes törlési műveleteket a tranzakciós naplóban.
A DELETE-hez képest, amely soronként töröl és trigger-eket is aktiválhat, a TRUNCATE nem aktivál trigger-eket, és nem használható WHERE feltételekkel — az összes adatot egyszerre törli.
Példa:
-- Minden sor törlése (lassabb)
DELETE FROM users;
-- Gyors táblatisztítás
TRUNCATE TABLE users;
Így, ha gyorsan szeretnéd kiüríteni az egész táblát, jobb a TRUNCATE használata.