Silme ve Kesme Arasındaki Fark
Sil ve Tırnak
Her iki SQL (Yapı Sorgulama Dili) komutları, Sil ve Kes, bir veritabanında tablolarda depolanan verilerin silinmesi için kullanılır. Sil bir DML (Veri İşleme Dili) deyimidir ve bir tablonun satırlarının bir kısmını veya tamamını kaldırır. 'Where yan tümcesi', silinmesi gereken satırları belirtmek için kullanılır ve Where deyimi Delete deyimi ile kullanılmazsa, tablodaki tüm verileri kaldırır. Truncate bir DDL (Data Definition Language) deyimidir ve tüm verileri tablodan kaldırır. Bu komutların her ikisi de tablo yapısını ve tabloya yapılan başvuruları yok etmez ve yalnızca veriler gerektiği gibi kaldırılır.
Delete Statement
Delete deyimi, kullanıcının belirtilen bir koşula bağlı olarak veritabanındaki varolan bir tablodan verileri kaldırmasına izin verir ve bu durumu belirlemek için 'Where yan tümcesi' kullanılır. Sil komutu bir kerede yalnızca bir satırı siler ve işlem günlüğünde her satır silme girdisini saklamış olduğundan oturum yürütme olarak adlandırılır. Yani, bu işlemin daha yavaş yapılmasına neden olur. Sil bir DML deyimidir ve bu nedenle komutu yürütürken otomatik olarak taahhüt edilmez. Bu nedenle, gerekirse, Sil işlemi, verilere tekrar erişmek için geri alınabilir. Sil komutunun yürütülmesinden sonra değişiklikleri kalıcı olarak kaydetmek için taahhüt veya geri alınmalıdır. Deyimi sil tabloyu tablo veritabanından kaldırmaz. Ayrıca, tablo tarafından kullanılan bellek alanının ayrılmasını da sağlamaz.
Sil komutunun tipik sözdizimi aşağıda belirtilmiştir.
DELETE FROM
veya
WHERE
SİLME
Truncate Statement
Truncate deyimi, tüm verileri bir veritabanındaki varolan bir tablodan kaldırır, ancak aynı tablo yapısını, bütünlük kısıtlamalarını, erişim ayrıcalıkları ve diğer tablolarla ilişkileri. Dolayısıyla, tablonun tekrar tanımlanması gerekmez ve eğer kullanıcı tablonun tekrar tekrar kullanılmasını istiyorsa eski tablo yapısı kullanılabilir. Kesme, verileri tutmak için kullanılan veri sayfalarını ayırarak tüm verileri kaldırır ve yalnızca bu sayfa ayrılmaları işlem günlüğüne tutulur. Bu nedenle, truncate komutu, işlem için daha az sistem ve işlem günlüğü kaynağını kullanır, bu nedenle diğer ilgili komutlardan daha hızlıdır. Truncate DDL komutudur, bu nedenle deyimin yürütülmesinden önce ve sonra otomatik taahhütler kullanır. Bu nedenle, kesme, verileri hiçbir şekilde geri saramaz. Uygulama sonrasında tablo tarafından kullanılan bellek alanını serbest bırakır. Ancak, yabancı anahtar kısıtlamaları tarafından başvurulan tablolarda Kısaltma ifadesi uygulanamaz.Aşağıda, Truncate ifadesinin ortak sözdizimi verilmiştir.
ÇEŞİTLİ TABLO Sil ve Kesme arasındaki fark nedir? 1. Sil ve Kes komutları, tablo yapısına veya tabloya yapılan diğer referanslara zarar vermeden mevcut tablolardaki verileri bir veritabanında siler. 2. Bununla birlikte, Sil komutu yalnızca bir tabloda ilgili bir koşul kullanarak silmek veya herhangi bir koşul olmaksızın tüm satırları silmek için kullanılabilirken, Kesme komutu yalnızca tablodaki tüm verileri silmek için kullanılabilir. 3. Sil bir DML komutudur ve gerekirse işlemi geri alabilir, ancak, bir otomatik tamamlama bildirimi olduğundan ve herhangi bir şekilde geri alınamayacağı için Truncate bir DDL komutudur. Dolayısıyla, bu komutu veritabanı yönetiminde dikkatle kullanmak önemlidir. 4. İşlemi kesme, Sil işlemi daha az sistem kaynağı ve işlem günlüğü kaynağı tüketir, bu nedenle Kesme Sil'den daha hızlı olarak değerlendirilir. 5. Ayrıca Sil, tablo tarafından kullanılan alanı ayırmayı bırakmaz, oysa, Veritabanı tablosundaki tüm verilerin silinmesi durumunda Silme işlemi verimli olmadığından, Kesilen, yürütmeden sonra kullanılan alanı boşaltır. 6. Ancak, tablo bir yabancı anahtar kısıtlaması tarafından başvurulduğu zaman Kesme'nin kullanılması yasaktır ve bu durumda Kesme yerine Sil komutu kullanılabilir. |