1. Anasayfa
  2. SQL Server

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


0

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ı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 6
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Ş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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir