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 — არა.