Sobes.tech
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 WHERE koş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.