Sobes.tech
Junior — Middle

Kas ir ātrāk — datu dzēšana ar DELETE komandu vai tabulas iztukšošana ar TRUNCATE?

sobes.tech AI

Atbilde no AI

Komanda TRUNCATE parasti darbojas ātrāk nekā DELETE, kad nepieciešams dzēst visus datus no tabulas. Tas ir tāpēc, ka TRUNCATE neizdzēš rindas pa vienai, bet ātri iztukšo visu tabulu, bieži atiestatot datu lapas un neierakstot atsevišķas dzēšanas operācijas transakcijas žurnālā.

Atšķirībā no DELETE, kas izdzēš rindas pa vienai un var aktivizēt trigerus, TRUNCATE neaktivizē trigerus un to nevar izmantot ar WHERE nosacījumiem — tas izdzēš visus datus uzreiz.

Piemērs:

-- Izdzēst visas rindas (lēnāk)
DELETE FROM users;

-- Ātrs tabulas tīrīšana
TRUNCATE TABLE users;

Ja vēlaties ātri iztukšot visu tabulu, labāk ir izmantot TRUNCATE.