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