İlginizi Çekebilir
  1. Ana Sayfa
  2. SQL Server
  3. İPUCU – T-SQL de Truncate ile Delete Komutu Arasındaki Farklar

İPUCU – T-SQL de Truncate ile Delete Komutu Arasındaki Farklar

T-SQL de sorgu yazarken bazı verileri silmek istediğimiz zaman hepimizin bildiği gibi Delete komutunu kullanırız. Tüm kayıtları silmek istediğimiz de ise hem Delete hem de Truncate komutlarını kullanabiliriz. Peki, bu komutlar arasındaki farklar nelerdir?


Resim-1

Temel farkları kısaca inceleyelim;

1. Delete komutunu kullanırken sorgumuza where şartını ekleyebiliriz. Truncate komutunda böyle bir imkân yoktur, tüm kayıtları siler.


Resim-2

2. En önemli fark olarak eğer tablomuzda identity kolonumuz varsa, Delete yaparsak o kolon kaçıncı identity de kalmışsa kaldığı yerden saymaya devam eder. Truncate Table yaptığımız zaman ise en baştan saymaya başlar.

3. Tablonun üzerinde Delete Trigger’ı varsa, Truncate Table yaptığımızda tetiklenmez. Delete komutu ile trigger tetiklenir.

4. Foreign Key içeren tablolarda Truncate Table yapılmaz. Delete komutu kullanılmalıdır.

5. Truncate komutunda loglama kayıt bazlı yapılmadığı için Delete komutuna göre daha performanslıdır.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Yorum Yap

Yazar Hakkında

Şeyda Ocak, lisans eğitimini Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünde, yüksek lisans eğitimini ise Sakarya Üniversitesi Bilgisayar ve Bilişim Mühendisliği bölümünde tamamlamıştır. Veri tabanı yazılımı ve raporlama dünyasına üniversitenin ilk yıllarında aldığı SQL Server veri tabanı eğitimleri ile başlayan Şeyda, sektörün önde gelen firmalarında İş Zekası alanında Microsoft teknolojileri üzerine çalışmış, şu anda Türkiye Finans Katılım Bankası’nda Veri Ambarı ve Yasal Raporlamalar Yönetici Yardımcısı olarak görev almaktadır.

Yorum Yap