Middle
SQL-də DELETE və TRUNCATE arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
SQL-də DELETE və TRUNCATE arasındakı əsas fərqlər:
- DELETE cədvəldən sətirləri sətir-sətir silir və
WHEREşərti ilə ola bilər. Əməliyyat qeydiyyata alınır, bu da dəyişikliklərin geri alınmasına (ROLLBACK) imkan verir. - TRUNCATE bütün sətirləri tamamilə silir, şərt göstərmək mümkün deyil. Bu, daha sürətli əməliyyatdır, çünki hər sətirin silinməsi qeydiyyata alınmır, əvəzinə məlumat səhifələri sıfırlanır.
Nümunə:
DELETE FROM users WHERE age < 18; -- yalnız 18-dən kiçik istifadəçiləri siləcək
TRUNCATE TABLE users; -- bütün istifadəçiləri birdəfəlik siləcək
Həmçinin, TRUNCATE adətən avtomatik artım sayğaclarını sıfırlayır, DELETE isə sıfırlamır.