Middle
SQL'de DELETE ve TRUNCATE arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
SQL'de DELETE ve TRUNCATE arasındaki temel farklar:
- DELETE satır satır tabloyu siler ve
WHEREkoşulu içerebilir. İşlem günlüklenir, bu da değişikliklerin geri alınmasına (ROLLBACK) olanak tanır. - TRUNCATE tüm satırları tamamen siler, koşul belirtme imkanı yoktur. Daha hızlıdır çünkü her satırın silinmesini günlüklemez, veri sayfalarını sıfırlar.
Örnek:
DELETE FROM users WHERE age < 18; -- sadece 18 yaş altı kullanıcıları siler
TRUNCATE TABLE users; -- tüm kullanıcıları hemen siler
Ayrıca, TRUNCATE genellikle otomatik artış sayacını sıfırlar, DELETE ise sıfırlamaz.