Rumah >pangkalan data >tutorial mysql >TRUNCATE lwn. DELETE dalam SQL: Apakah Perbezaan Utama?
Pemahaman mendalam tentang perbezaan antara TRUNCATE dan DELETE dalam SQL
Arahan TRUNCATE dan DELETE dalam SQL digunakan untuk memadamkan data dalam jadual, tetapi kaedahnya berbeza biasanya menyediakan cara pemadaman data yang lebih cepat dan teliti.
Jenis Penyata
Tidak seperti DELETE iaitu DML (Bahasa Manipulasi Data), TRUNCATE tergolong dalam DDL (Bahasa Definisi Data).
Komited dan tarik balik
Keupayaan rollback arahan berbeza mengikut pangkalan data:
Kitar Semula Angkasa Lepas
DELETE meninggalkan ruang kosong, manakala TRUNCATE menuntutnya semula. Pilihan REUSE STORAGE Oracle membolehkan segmen data dipelihara, meningkatkan kecekapan semasa memuat semula jadual.
Julat baris
DELETE membenarkan pemadaman terpilih bagi baris, manakala TRUNCATE memadamkan semua baris tanpa syarat. Oracle membenarkan pemotongan partition tertentu dalam jadual partition.
Jenis Objek
DELETE berfungsi pada jadual dan jadual berkelompok, tetapi TRUNCATE terhad kepada jadual atau keseluruhan kelompok (khusus Oracle).
Pengecam objek data
Dalam Oracle, DELETE mengekalkan ID objek data, manakala TRUNCATE memberikan ID baharu melainkan tiada operasi sisipan telah berlaku sejak jadual dibuat.
Kilas Balik (Oracle)
DELETE menyokong ciri Flashback, tetapi TRUNCATE menyekatnya melainkan ciri FLASHBACK ARCHIVE digunakan.
Kebenaran
Kebenaran PADAM boleh diberikan kepada pengguna, tetapi TRUNCATE memerlukan kebenaran DROP ANY TABLE (khusus Oracle).
Nota Prestasi
Pencetus dan Pelaksanaan Jauh
TRUNCATE menyokong pencetus DDL (khusus Oracle). Oracle tidak membenarkan pelaksanaan TRUNCATE jauh.
Lajur identiti
Dalam Pelayan SQL, TRUNCATE menetapkan semula jujukan lajur identiti, tetapi DELETE tidak.
Set keputusan
Dalam Oracle PL/SQL, pernyataan DELETE boleh mengembalikan baris yang dipadamkan kepada klien.
Atas ialah kandungan terperinci TRUNCATE lwn. DELETE dalam SQL: Apakah Perbezaan Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!