Middle
Kāda ir atšķirība starp DELETE un TRUNCATE SQL?
sobes.tech AI
Atbilde no AI
Galvenās atšķirības starp DELETE un TRUNCATE SQL:
- DELETE izdzēš rindas no tabulas pa rindai un var saturēt
WHEREnosacījumu. Operācija tiek reģistrēta žurnālā, kas ļauj atcelt izmaiņas (ROLLBACK). - TRUNCATE pilnībā izdzēš visas rindas no tabulas, bez iespējas norādīt nosacījumu. Tā ir ātrāka operācija, jo tā ne reģistrē katras rindas dzēšanu, bet atiestatīs datu lapas.
Piemērs:
DELETE FROM users WHERE age < 18; -- izdzēsīs tikai lietotājus, kas jaunāki par 18
TRUNCATE TABLE users; -- izdzēsīs visus lietotājus uzreiz
Turklāt, TRUNCATE parasti atiestatīs automātiskās palielināšanas skaitītājus, kamēr DELETE — nē.