Perbedaan Antara Drop Dan Truncate

Perbedaan Antara Drop Dan Truncate
Perbedaan Antara Drop Dan Truncate

Video: Perbedaan Antara Drop Dan Truncate

Video: Perbedaan Antara Drop Dan Truncate
Video: SQL: Hapus Vs Potong Vs Jatuhkan 2024, April
Anonim

Jatuhkan vs Potong

Drop dan Truncate adalah dua pernyataan SQL (Structured Query Language) 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. Operasi penghapusan tidak efektif dalam kasus ini karena menggunakan lebih banyak ruang penyimpanan daripada Jatuhkan dan Potong.

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

Jatuhkan perintah

Seperti yang disebutkan sebelumnya, perintah Drop menghapus definisi tabel dan semua datanya, batasan integritas, indeks, pemicu, dan hak akses, yang dibuat pada tabel tersebut. Jadi itu menjatuhkan objek yang ada dari database sepenuhnya, dan hubungan ke tabel lain juga tidak akan berlaku lagi setelah menjalankan perintah. Juga menghapus semua informasi tentang tabel dari kamus data. Berikut ini adalah sintaks khas untuk menggunakan pernyataan Drop pada tabel.

DROP TABLE

Kita hanya perlu mengganti nama tabel yang ingin kita hapus dari database dalam contoh perintah Drop di atas.

Penting untuk menunjukkan bahwa pernyataan Drop tidak dapat digunakan untuk menghapus tabel, yang telah direferensikan oleh batasan kunci asing. Dalam hal ini, batasan kunci asing yang mereferensikan, atau tabel tertentu itu harus dihapus terlebih dahulu. Juga, pernyataan Drop tidak dapat diterapkan pada tabel sistem di database.

Karena perintah Jatuhkan adalah pernyataan komit otomatis, operasi setelah diaktifkan tidak dapat dibatalkan dan tidak ada pemicu yang akan diaktifkan. Ketika sebuah tabel dihilangkan, semua referensi ke tabel tersebut tidak akan valid, dan karenanya, jika kita ingin menggunakan tabel itu lagi, itu harus dibuat ulang dengan semua batasan integritas dan hak akses. Semua hubungan ke tabel lainnya, juga harus ditempatkan kembali.

Perintah potong

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

POTONG TABEL

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

Truncate tidak dapat digunakan pada tabel yang telah direferensikan oleh batasan kunci asing. Ini menggunakan komit secara otomatis sebelum bertindak dan komit lainnya sesudahnya sehingga rollback transaksi tidak mungkin, dan tidak ada pemicu yang diaktifkan. Jika kita ingin menggunakan kembali tabel tersebut 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 komitmen otomatis sehingga transaksi yang dilakukan menggunakan perintah ini tidak dapat dibatalkan.

Perbedaan utama antara Letakkan dan Pemotongan adalah bahwa perintah Jatuhkan menghapus, tidak hanya semua data dalam tabel, tetapi juga menghapus struktur tabel secara permanen dari database dengan semua referensi, sedangkan perintah Potong hanya menghapus semua baris dalam tabel, dan mempertahankan struktur tabel dan referensinya.

Jika tabel dihapus, hubungan ke tabel lain tidak lagi valid, dan batasan integritas dan hak akses juga akan dihapus. Jadi jika tabel diperlukan untuk digunakan kembali, itu harus direkonstruksi dengan hubungan, batasan integritas, dan juga hak akses. Tetapi jika sebuah tabel terpotong, struktur tabel dan batasannya tetap untuk digunakan di masa mendatang, dan karenanya, pembuatan ulang di atas tidak diperlukan untuk digunakan kembali.

Saat perintah ini diterapkan, kita harus berhati-hati dalam menggunakannya. Selain itu, kita harus memiliki pemahaman yang lebih baik tentang sifat perintah ini, cara kerjanya, dan juga beberapa perencanaan yang cermat sebelum menggunakannya untuk mencegah kehilangan hal-hal penting. Terakhir, kedua perintah ini dapat digunakan untuk membersihkan database dengan cepat dan mudah, menghabiskan lebih sedikit sumber daya.

Direkomendasikan: