Sobes.tech
Junior — Middle

Mis on kiirem — andmete kustutamine DELETE käsuga või tabeli tühjendamine TRUNCATE abil?

sobes.tech AI

Vastus AI-lt

Käsu TRUNCATE töötab tavaliselt kiiremini kui DELETE, kui on vaja kustutada kõik andmed tabelist. See on tingitud sellest, et TRUNCATE ei kustuta ridu üksikult, vaid tühjendab kogu tabeli kiiresti, sageli lähtestades andmesed ja mitte registreerides üksikuid kustutustegevusi transaktsioonilogis.

Erinevalt DELETE-st, mis kustutab ridu üksikult ja võib käivitada trigereid, ei käivita TRUNCATE trigereid ning seda ei saa kasutada WHERE tingimustega — see kustutab kõik andmed korraga.

Näide:

-- Kõigi ridade kustutamine (aeglasem)
DELETE FROM users;

-- Tabeli kiire puhastamine
TRUNCATE TABLE users;

Kui soovite kiiresti kogu tabeli tühjendada, on parem kasutada TRUNCATE.