Delete ve Truncate Farkı

DELETE ve TRUNCATE her iki komutla tüm tablo verisini silebilirsiniz.
Ama aralarında büyük farklar var aşağıda açıklamaya çalıştım.

DELETE ve TRUNCATE FARKLARI

– DELETE ile tablodan WHERE şartı ile şartınıza uyan kayıtları silebilirsiniz.
Ya da “Delete from mytable”; diyerek tüm satırları silebilirsiniz.
Ama TRUNCATE komutu ile şart belirtemezsiniz ve tüm tabloyu boşaltır.
“TRUNCATE table mytable”;

– DELETE işleminden sonra COMMIT ya da ROLLBACK yapmanız gerekir,
Ama TRUNCATE işlemi AUTOCOMMIT’dir,yaptığınız değişikliği commit eder geri alamasınız.

– Tablodan kayıt silme için yazılan triggerlar varsa delete işleminde devreye girer,
ama TRUNCATE işlemi triggerlara takılmaz.

– TRUNCATE işlemi LOG üretmediği(UNDO) için DELETE’e göre daha hızlı çalışır.

– DELETE bir DML komutudur, TRUNCATE DDL komutudur.(bu yüzden autocommit yapar)

Tablonuzdaki veriniz önemsiz ve büyük boyutlardaysa TRUNCATE işlemini tavsiye ederim.

Tagged: , , , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir