Etiket arşivi: oracle tablo silme nasıl yapılır

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.