Delete ve Truncate Arasındaki Fark

Sil ve Kes'i sil

Veritabanındaki tablolarda depolanan verilerden kurtulmak için hem SQL (Yapı Sorgu Dili) komutları, Sil ve Kes 'i kullanılır. Sil, bir DML (Veri İşleme Dili) ifadesidir ve tablonun bazı veya tüm satırlarını kaldırır. 'Where yan tümcesi', silinmesi gereken satırları belirtmek için kullanılır ve Where yan tümcesi Delete deyimiyle kullanılmazsa, tablodaki tüm verileri kaldırır. Truncate bir DDL (Veri Tanımlama Dili) deyimidir ve tüm verileri tablodan kaldırır. Bu komutların her ikisi de tablo yapısını ve tabloya başvuruları yok etmez ve yalnızca veriler gerektiği gibi kaldırılır.

Deyimi Sil

Delete ifadesi, kullanıcının belirli bir koşula dayalı olarak veritabanındaki varolan bir tablodan veri kaldırmasına olanak tanır ve bu durumu belirlemek için 'Where yan tümcesi' kullanılır. Sil komutu, bir kerede yalnızca bir satırı sildiğinden ve işlem günlüğündeki her satır silme işlemi için bir girişi tuttuğu için günlüğe kaydedilen yürütme olarak adlandırılır. Bu, işlemi yavaşlatmaya neden olur. Delete bir DML ifadesidir ve bu nedenle komut yürütülürken otomatik olarak işlenmez. Bu nedenle, gerekirse verilere tekrar erişmek için Silme işlemi geri alınabilir. Sil komutunun yürütülmesinden sonra, değişiklikleri kalıcı olarak kaydetmek için işlenmeli veya geri alınmalıdır. Delete ifadesi, tablonun tablo yapısını veritabanından kaldırmaz. Ayrıca, tablo tarafından kullanılan bellek alanını yeniden ayırmaz.

Sil komutu için tipik sözdizimi aşağıda belirtilmiştir.

SİL

veya

NEREDEN SİL

Kesme Bildirimi

Truncate deyimi, bir veritabanındaki varolan bir tablodaki tüm verileri kaldırır, ancak aynı tablo yapısını, ayrıca bütünlük kısıtlamalarını, erişim ayrıcalıklarını ve diğer tablolarla olan ilişkilerini korur. Bu nedenle, tabloyu yeniden tanımlamanız gerekmez ve kullanıcı tabloyu tekrar kullanmak isterse eski tablo yapısı kullanılabilir. Kes, verileri tutmak için kullanılan veri sayfalarını ayırarak tüm verileri kaldırır ve işlem günlüğünde yalnızca bu sayfa serbest bırakmaları tutulur. Bu nedenle, truncate komutu işlem için yalnızca daha az sistem ve işlem günlüğü kaynağı kullanır, bu nedenle diğer ilgili komutlardan daha hızlıdır. Truncate bir DDL komutudur, bu nedenle ifadenin yürütülmesinden önce ve sonra otomatik taahhütleri kullanır. Bu nedenle, kısaltma verileri hiçbir şekilde geri alamaz. Yürütmeden sonra tablo tarafından kullanılan bellek alanını serbest bırakır. Ancak Truncate deyimi, yabancı anahtar kısıtlamaları tarafından başvurulan tablolara uygulanamaz.

Truncate ifadesi için ortak sözdizimi aşağıdadır.

BAGAJ TABLOSU

Delete ve Truncate arasındaki fark nedir?

1. Silme ve Kesme komutları, tablo yapısına veya tabloya yapılan diğer başvurulara zarar vermeden veritabanındaki varolan tablolardaki verileri kaldırır.

2. Ancak Sil komutu, yalnızca belirli bir koşulu kullanan bir tablodaki belirli satırları silmek veya herhangi bir koşulu olmayan tüm satırları silmek için kullanılabilirken, Kes komutu yalnızca tablodaki tüm verileri silmek için kullanılabilir.

3. Delete bir DML komutudur ve gerekirse işlemi geri alabilir, ancak Truncate bir DDL komutudur, bu nedenle bir otomatik kesinleştirme ifadesidir ve hiçbir şekilde geri alınamaz. Bu nedenle, veritabanı yönetiminde bu komutu dikkatli kullanmak önemlidir.

4. Kesme işlemi, Silme işleminden daha az sistem kaynağı ve işlem günlüğü kaynağı tüketir, bu nedenle Kesme işlemi Sil'den daha hızlı olarak kabul edilir.

5. Ayrıca, Sil, tablonun kullandığı alanı serbest bırakmazken, Truncate yürütme sonrasında kullanılan alanı serbest bırakır, bu nedenle bir veritabanı tablosundan tüm verilerin silinmesi durumunda Sil etkin değildir.

6. Ancak, tabloya bir yabancı anahtar kısıtlaması tarafından başvurulduğunda Truncate öğesine izin verilmez ve bu durumda Truncate yerine Delete komutu kullanılabilir.

7. Son olarak, bu komutların her ikisinin de Veritabanı Yönetim Sistemlerinde uygulanmasının avantajları ve dezavantajları vardır ve kullanıcı iyi sonuçlar elde etmek için bu komutları uygun şekilde kullandığından haberdar olmalıdır..