Sobes.tech
Middle

SQL-ში DELETE და TRUNCATE-ს შორის რა განსხვავებაა?

sobes.tech AI

პასუხი AI-სგან

SQL-ში DELETE და TRUNCATE შორის ძირითადი განსხვავებები:

  • DELETE წაშლის სვეტებს ცხრილიდან სვეტზე სვეტზე და შეიძლება ჰქონდეს WHERE პირობა. ოპერაცია რეგისტრირდება ლოგში, რაც საშუალებას აძლევს შეცდომების დაბრუნებას (ROLLBACK).
  • TRUNCATE მთლიანად წაშლის ყველა სვეტს ცხრილიდან, გარეშე პირობის მითითების შესაძლებლობა. ეს უფრო სწრაფი ოპერაციაა, რადგან ის არ რეგისტრირებს თითოეული სვეტის წაშლას, არამედ მონაცემთა გვერდებს ნულზე აყენებს.

მაგალითი:

DELETE FROM users WHERE age < 18; -- მხოლოდ 18 წლამდე მომხმარებლებს წაშლის
TRUNCATE TABLE users; -- ყველა მომხმარებელს ერთდროულად წაშლის

ასევე, TRUNCATE ჩვეულებრივ ნულს აყენებს ავტომატური ზრდის გამოთვლებს, ხოლო DELETE — არა.