Perbedaan antara drop dan terpotong

Perbedaan antara drop dan terpotong

Drop vs pemotongan

Jatuhkan dan pemotongan adalah dua pernyataan SQL (Struktur Kueri) yang digunakan dalam sistem manajemen database, di mana kami ingin menghapus catatan data dari database. Pernyataan drop dan truncate menghapus seluruh data dalam tabel dan pernyataan SQL terkait. Hapus operasi tidak efektif dalam hal ini karena menggunakan lebih banyak ruang penyimpanan daripada drop dan dipotong.

Dalam hal, jika kita ingin membuang tabel dalam database sama sekali dengan semua data, SQL memungkinkan kita untuk dengan mudah melakukan ini menggunakan pernyataan drop ini. Perintah drop adalah perintah DDL (Data Definition Language), dan dapat digunakan untuk menghancurkan database, tabel, indeks atau tampilan yang ada. Itu menghapus seluruh informasi dalam tabel, serta struktur tabel dari database. Juga, kami mungkin ingin menyingkirkan semua data dalam tabel secara sederhana, tetapi tanpa tabel, dan kami dapat menggunakan pernyataan truncate di SQL dalam skenario seperti itu. Truncate juga merupakan perintah DDL dan menghilangkan semua baris dalam tabel tetapi menjaga definisi tabel yang sama untuk penggunaan di masa mendatang.

Jatuhkan perintah

Seperti disebutkan sebelumnya, perintah drop menghapus definisi tabel dan semua data, kendala integritas, indeks, pemicu, dan hak istimewa akses, yang dibuat pada tabel tertentu itu. Jadi itu menjatuhkan objek yang ada dari database sepenuhnya, dan hubungan dengan tabel lain juga tidak akan lagi valid setelah menjalankan perintah. Juga menghapus semua informasi tentang tabel dari kamus data. Berikut ini adalah sintaks khas untuk menggunakan pernyataan drop di atas tabel.

Tabel drop

Kita harus mengganti nama tabel yang ingin kita hapus dari database di atas contoh perintah drop di atas.

Penting untuk menunjukkan bahwa pernyataan drop tidak dapat digunakan untuk menghapus tabel, yang telah dirujuk oleh kendala kunci asing. Dalam hal ini, referensi kendala kunci asing, atau tabel tertentu harus dijatuhkan terlebih dahulu. Juga, pernyataan drop tidak dapat diterapkan pada tabel sistem di database.

Karena perintah drop adalah pernyataan komit otomatis, operasi setelah dipecat tidak dapat digulung kembali dan tidak ada pemicu yang akan dipecat. Ketika sebuah tabel dijatuhkan, semua referensi ke tabel tidak akan valid, dan karenanya, jika kita ingin menggunakan tabel lagi, itu harus diciptakan kembali dengan semua kendala integritas dan hak istimewa akses. Semua hubungan dengan tabel lain, juga harus ditempatkan lagi.

Perintah terpotong

Perintah truncate adalah perintah DDL, dan menghapus semua baris dalam tabel tanpa kondisi yang ditentukan pengguna, dan melepaskan ruang yang digunakan oleh tabel, tetapi struktur tabel dengan kolom, indeks dan kendala tetap sama. Truncate menghilangkan data dari tabel dengan menangani halaman data yang digunakan untuk menyimpan data tabel, dan hanya dokumen halaman ini yang disimpan dalam log transaksi. Jadi ini menggunakan sumber daya log transaksi yang lebih sedikit dan sumber daya sistem dibandingkan dengan perintah SQL terkait lainnya seperti Hapus. Jadi terpotong adalah pernyataan yang sedikit lebih cepat dari yang lain. Berikut ini adalah sintaks khas untuk perintah pemotongan.

Tabel terpotong

Kita harus mengganti nama tabel, dari mana kita ingin menghapus seluruh data, di sintaks di atas.

Truncate tidak dapat digunakan pada tabel yang telah dirujuk oleh kendala kunci asing. Menggunakan komitmen secara otomatis sebelum bertindak dan komit lain setelah itu sehingga rollback transaksi tidak mungkin, dan tidak ada pemicu yang ditembakkan. Jika kita ingin menggunakan kembali tabel, kita hanya perlu mengakses definisi tabel yang ada di database.

Apa perbedaan antara drop dan truncate?

Perintah drop dan truncate adalah perintah DDL dan juga pernyataan komit otomatis sehingga transaksi yang dilakukan dengan menggunakan perintah ini tidak dapat digulung kembali.

Perbedaan utama antara drop dan truncate adalah bahwa perintah drop menghapus, tidak hanya semua data dalam tabel, tetapi juga menghapus struktur tabel secara permanen dari database dengan semua referensi, sedangkan perintah pemotong hanya menghapus semua baris dalam tabel , dan melestarikan struktur tabel dan rujukannya.

Jika tabel dijatuhkan, hubungan ke tabel lain tidak akan lagi valid, dan kendala integritas dan hak akses juga akan dihapus. Jadi jika tabel harus digunakan kembali, itu harus direkonstruksi dengan hubungan, kendala integritas, dan juga hak istimewa akses. Tetapi jika sebuah tabel terpotong, struktur tabel dan kendalanya tetap untuk penggunaan di masa depan, dan karenanya, salah satu dari rekreasi di atas tidak diperlukan untuk menggunakan kembali.

Saat perintah ini diterapkan, kita harus berhati -hati menggunakannya. Juga, kita harus memiliki pemahaman yang lebih baik tentang sifat dari perintah -perintah ini, bagaimana mereka bekerja, dan juga beberapa perencanaan yang cermat sebelum menggunakannya untuk mencegah hal -hal penting yang hilang. Akhirnya, kedua perintah ini dapat digunakan untuk membersihkan database dengan cepat dan mudah, mengonsumsi lebih sedikit sumber daya.