Jatuhkan vs Truncate
Drop dan Truncate adalah dua pernyataan SQL (Structured Query Language) yang digunakan dalam Sistem Manajemen Basis Data, di mana kami ingin menghapus catatan data dari database. Pernyataan Drop dan Truncate menghapus seluruh data dalam sebuah tabel dan pernyataan SQL terkait. Operasi penghapusan tidak efektif dalam kasus ini karena menggunakan lebih banyak ruang penyimpanan daripada Drop dan Truncate.
Dalam hal ini, jika kita ingin membuang tabel dalam database beserta semua datanya, SQL memungkinkan kita untuk dengan mudah melakukan ini menggunakan pernyataan Drop. Perintah drop adalah perintah DDL (Data Definition Language), dan itu 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 menyingkirkan semua data dalam sebuah tabel 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 depan.
Jatuhkan perintah
Seperti disebutkan sebelumnya, perintah Drop menghapus definisi tabel dan semua data, batasan integritas, indeks, pemicu, dan hak akses, yang dibuat pada tabel tertentu. Jadi itu menjatuhkan objek yang ada dari database sepenuhnya, dan hubungan ke tabel lain juga tidak akan lagi berlaku setelah menjalankan perintah. Juga menghapus semua informasi tentang tabel dari kamus data. Berikut ini adalah sintaksis khas untuk menggunakan pernyataan Drop pada tabel.
DROP TABEL
Kita harus cukup 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 dirujuk oleh batasan kunci asing. Dalam hal itu, batasan kunci asing referensi, atau tabel tertentu harus dihapus terlebih dahulu. Juga, pernyataan Drop tidak dapat diterapkan pada tabel sistem dalam database.
Karena perintah Drop adalah pernyataan komit otomatis, operasi setelah dipecat tidak dapat dibatalkan dan tidak ada pemicu yang akan dipecat. Ketika sebuah tabel dijatuhkan, semua referensi ke tabel tidak akan valid, dan oleh karena itu, jika kita ingin menggunakan tabel itu lagi, itu harus dibuat ulang dengan semua batasan integritas dan hak akses. Semua hubungan ke tabel lain, juga harus ditempatkan lagi.
Perintah terpotong
Perintah terpotong 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 batasannya tetap sama. Truncate menghilangkan data dari tabel dengan membatalkan alokasi halaman data yang digunakan untuk menyimpan data tabel, dan hanya alokasi halaman ini disimpan dalam log transaksi. Jadi ia menggunakan sumber daya log transaksi lebih sedikit dan sumber daya sistem dibandingkan dengan perintah SQL terkait lainnya seperti Delete. Jadi Truncate sedikit lebih cepat daripada yang lain. Berikut ini adalah sintaks khas untuk perintah Truncate.
MEJA TRUNCATE
Kita harus mengganti nama tabel, dari mana kita ingin menghapus seluruh data, dalam sintaks di atas.
Truncate tidak dapat digunakan pada tabel yang telah direferensikan oleh batasan kunci asing. Ia menggunakan komit secara otomatis sebelum bertindak dan komit lain sesudahnya sehingga kemunduran transaksi tidak mungkin, dan tidak ada pemicu yang dipecat. Jika kita ingin menggunakan kembali tabel kita hanya perlu mengakses definisi tabel yang ada dalam database.
Apa perbedaan antara Drop dan Truncate?
Baik perintah Drop dan Truncate adalah perintah DDL dan juga pernyataan komit otomatis sehingga transaksi yang dilakukan menggunakan perintah ini tidak dapat dibatalkan.
Perbedaan utama antara Drop dan Truncate adalah bahwa perintah Drop menghapus, tidak hanya semua data dalam tabel, tetapi juga menghilangkan struktur tabel secara permanen dari database dengan semua referensi, sedangkan perintah Truncate hanya menghapus semua baris dalam sebuah tabel , dan mempertahankan struktur tabel dan referensi.
Jika sebuah tabel dijatuhkan, hubungan ke tabel lain tidak akan lagi valid, dan batasan integritas dan hak akses juga akan dihapus. Jadi jika tabel diharuskan untuk digunakan kembali, itu harus direkonstruksi dengan hubungan, kendala integritas, dan juga hak akses. Tetapi jika sebuah tabel terpotong, struktur tabel dan batasannya tetap untuk penggunaan di masa depan, dan karenanya, salah satu rekreasi di atas tidak diperlukan untuk menggunakan kembali.
Ketika perintah ini diterapkan, kita harus berhati-hati untuk menggunakannya. Selain itu, kita harus memiliki pemahaman yang lebih baik tentang sifat dari perintah-perintah ini, bagaimana cara kerjanya, dan juga perencanaan yang matang sebelum menggunakannya untuk mencegah dari kehilangan esensi. Akhirnya, kedua perintah ini dapat digunakan untuk membersihkan database dengan cepat dan mudah, menghabiskan lebih sedikit sumber daya.