Kesme ve Silme Arasındaki Fark

Anonim

Verilerin oluşturulması ve manipülasyonu veritabanlarının temelini oluşturur ve bunu sırasıyla DDL ve DML olarak adlandırırız. DDL, Veri Tanımlama Dili'nin kısaltmasıdır. Veritabanlarındaki veri yapılarını oluşturabilir veya değiştirebilir ve tablolardaki verileri değiştirmek için kullanılamazlar. Örneğin, yalnızca belirtilen tablo özniteliklerine sahip bir tablo oluşturan komutlara sahibiz ancak tabloya hiç satır eklemiyor. Ancak, Veri İşleme Dili olan bir DML, tablolardaki verileri ekleyebilir, silebilir veya değiştirebilir. Genel bir kural olarak, DDL komutları tablo yapılarıyla ilgilenirken, DML komutları gerçek verileri ele alır. Bırakalım, neden sadece "Truncate ile Delete arasındaki fark" dan sapıyoruz? DML ve DDL hakkında konuştuğumuz nedenler var. Bunu ön plana çıkan tartışmada anlayacaksınız.

Kısaltma komutu nedir?

Bir Kesme komutunun amacı, tüm tabloyu silmektir. Dolayısıyla bir Kesme komutu kullandığınızda, masadaki tüm verileri kaybedersiniz ve bunu kullanırken ihtiyatlı davranmanız gerekir. Nasıl kullanılacağını bize bildirin.

Truncate sözdizimi:

TRUNCATE TABLE tablo adı ;

Burada, silinmesi gereken tablonun adını belirtmelisiniz. Bu, bellek alanına oturan herhangi bir masanın olmasını sağlar. İşte Truncate'i kullanmaya bir örnek.

Aşağıda 'çalışan' tablosu ve içindeki verilerin satırlarına bakmanız yeterlidir.

emp-id emp-adı tanımı
1011 Jack Kâtip
1012 Gül Yönetim
1014 Nancy > Finans
Şimdi, çalışan tablosunda aşağıdaki komutu yayınlamamıza izin verin.

ÇEŞİTLİ TABLO

çalışan; İşte yukarıdaki sözdiziminin sonucudur ve içindeki veri yoktur.

emp-id

emp-name atama Sil Komutu nedir?

Sil komutunun amacı, belirtilen satırları tablodan kaldırmaktır. Burada 'Where' ifadesi, burada silinmesi gereken satırları belirtmek için kullanılır. Satırları belirtmediğimizde, komut tüm tablolardaki satırları siler. Sadece sözdizimine bak.

çalışantan silin; Yukarıdaki sözdizimi, tüm satırları 'çalışan' tablosundan siler. Dolayısıyla ortaya çıkan tablo hiçbir veri içermez.

'dan Silmek> çalışan

WHERE emp-id = 1011; Bu deyim, emp-id'i 1011 olan tek bir satırı silecektir. Sonuçta oluşan tablo aşağıdaki gibi olacaktır. emp-id

emp-name

atama 1012 Güllü
Yönetici 1014 Nancy
Finans Farklar: Truncate is bir DDL; Sil bir DML:

Yukarıdaki tartışmamızda DDL'nin ve DML'nin nasıl çalıştığını yukarıda tartıştık.Kesme komutu bir DDL'dir ve veri yapısı seviyesinde çalışır. Ancak Sil bir DML komutu ve tablo verileri üzerinde çalışır. DDL için diğer örnekler CREATE ve ALTER'dir. Benzer şekilde, SELECT, UPDATE ve REPLACE gibi komutların bir DML için mükemmel örnekler olduğunu söyleyebiliriz.

  • Kısaltma ve Silme nasıl çalışır: Kısalt komutu gönderilir gelmez, sadece belirtilen tablo arar. Ardından tüm verileri hafızadan tamamen kaldırır. Fakat Delete (Sil) durumunda çalışma prosedürü biraz farklıdır. Burada, orijinal tablo verileri, gerçek veri manipülasyonunu yapmadan önce 'Roll back' alanı adı verilen alana kopyalanır. Ardından, değişiklikler gerçek tablo veri alanında yapılır. Dolayısıyla, ikisi de çalışma biçiminde farklılık gösterir.
  • Truncate -> tüm verileri tablodan kaldırın -> Tablo alanı artık boşaltılmıştır.

Sil -> Orijinal tablo verilerini Roll Back alanına kopyala -> belirtilen verilerin / tüm tablonun silinmesi -> Tablo alanı boşaltılmış ancak Roll Back alanı doldurulmuştur.

Geri sar: Geri alma, Microsoft aksesuarlarımızdaki Geri Al komutu gibidir. Son zamanlarda yaptığımız değişiklikleri iptal etmek için kullanılır i. e. son kaydedilen noktadan. İşlemi gerçekleştirmek için, veriler düzenlenmeden önce Roll Back alanına kopyalanmalıdır. Bu Geri Dönüşler ekstra bellek gerektirse de orijinal belleğe geri dönmek son derece faydalıdır. Özellikle yanlışlıkla bazı düzenleme yaparken! Şimdi geriye doğru kesilip Siline gelelim. Yukarıda tartıştığımız gibi, Kesme işlemi hiçbir zaman bir geri alma alanı kullanmaz ve orijinal verilere geri dönemez. Ancak Sil komutu, geri alma alanı kullanır ve sırasıyla değişiklikleri kabul etmek veya iptal etmek için sırayla 'Commit' veya 'RollBack' kullanabilirsiniz.

  • Tetikleyiciler: Tetikleyiciler hakkında bir açıklama isteyenler için, ufak bir not. Tetikleyiciler, tablo belirli bir koşulla karşılaştığında etkinleştirilmesi gereken, önceden belirlenmiş bir dizi işlem / işlemdir. Örneğin, bir çalışanın şirketle ilgili deneyimi bir yıldan fazla olduğunda, maaş miktarının değiştirilmesini tetikleyebiliriz. Bu tetikleyiciler diğer tablolarda da çalışabilirdi. Örneğin, bir çalışan için maaş zammı yapıldığında finans masasını güncelleyebiliriz.
  • Truncate bir DDL komutu, tetikleyici buraya izin verilmez. Ancak bir Sil, DML komutu, Tetikleyicilere burada izin verilir. Hangisi daha hızlı?

Tahmin ettiğiniz gibi Kesme komutu Sil komutundan daha hızlı olurdu. İlki tüm verileri kaldırabilir ve eşleşen koşulları kontrol etmeye gerek yoktur. Ayrıca, orijinal veriler geri alma alanına kopyalanmaz ve bu çok zaman kazandırır. Bu iki faktör Truncate'i Sil'den daha hızlı hale getirir.

  • WHERE yanılsamasını kullanabilir miyiz? 'Where' yan tümcesi, belirli eşleştirme koşullarını belirtmek için kullanılır ve Kesme ile hiçbir şey yapmaz. Truncate hiç eşleşen koşulları aramıyor ve sadece tüm satırları kaldırıyor, burada bir 'Where' ifadesi kullanamıyorduk.Ancak, durumu 'Delete' komutundaki 'where' maddesinin yardımıyla daima belirleyebiliriz.
  • Hangi alan daha fazla yer kaplıyor? Kesme, geri alma alanını kullanmayacak ve bu bellekten tasarruf sağlıyor. Ancak silmek, Geri alma alanı biçiminde bir yedekleme gerektiriyor ve bu nedenle, kesme işleminden daha fazla bellek alanı gerektiriyor.
  • Öyleyse bunlar farklılıklar ve tablo biçiminde bakalım. S. Hayır
Farklar Kes 1. DDL veya DML?
Bu bir DDL'dir ve veri yapısı seviyesinde çalışır. DDL için diğer örnekler CREATE ve ALTER'dir. Bu bir DML komutudur ve tablo verileri üzerinde çalışır. DML, Veri İşleme Dili'nin (Data Manipulation Language) kısaltmasıdır. SELECT, UPDATE ve REPLACE gibi komutlar, bir DML için mükemmel örneklerdir. DML, Veri İşleme Dili'nin (Data Manipulation Language) kısaltmasıdır. 2 .

Nasıl işler?

Kısalt komutu verilir gelmez, sadece belirtilen tablo arar. Ardından tüm verileri hafızadan tamamen kaldırır. Burada, orijinal tablo verileri, gerçek veri manipülasyonunu yapmadan önce 'Geri alma alanı' alanına kopyalanır. Ardından, değişiklikler gerçek tablo veri alanında yapılır. 3. RollBack
Kesme komutu hiçbir zaman bir geri alma alanı kullanmaz ve orijinal verilere geri dönemez. Geri alma alanı özel bir alan olup, DML komutları verildiğinde işgal edilir. Sil komutu, geri alma alanı kullanır ve değişiklikleri sırasıyla kabul veya iptal etmek için sırayla 'Commit' veya 'RollBack' kullanabilirsiniz. 4. Triggers

Truncate bir DDL komutudur, tetikleyicilere izin verilmez. Sil bir DML komutu, tetikleyicilere burada izin verilir. 5. Hangisi daha hızlı?

Tüm verileri kaldırabilir ve eşleşen koşulları kontrol etmeye gerek yoktur. Ayrıca, orijinal veriler geri alma alanına kopyalanmaz ve bu çok zaman kazandırır. Bu iki faktör Truncate'i Sil'den daha hızlı hale getirir. Geri alma alanını kullanır ve her zaman orijinal verinin üzerinde tutulması gerekir. Bu ekstra bir yük ve Truncate'den çok zaman alıyor. 6.

WHERE yanılsamasını kullanabilir miyiz?
Truncate hiç eşleşen koşulları aramıyor ve sadece tüm satırları kaldırıyor, burada bir 'Where' ifadesi kullanamıyorduk. Ancak, Sil komutundaki 'where' maddesinin yardımıyla durumu her zaman belirleyebiliriz. 7. Hangi alan daha fazla yer kaplıyor?
Kesme, geri alma alanını kullanmayacak ve bu bellekten tasarruf sağlıyor. Geri alma alanı biçiminde bir yedekleme gerekir ve bu nedenle kesmeyi gerektiren daha fazla bellek alanı gerektirir. Herhangi bir iki varlık arasındaki farkları bilmek, her ikisinde de bilgiyi genişletir! Doğru yoldan indiğinizde i. e. web sayfasında farklılıkları anlamak için, özellikle de kesip silmek komutları arasında. Umarım farklılıklarından artık netsiniz ve siz bunu anlamanıza yardımcı olsaydık bize bildirin. Ayrıca hangi kalmış olduğuna işaret etmemize yardım edebilirsin!