Drop vs Truncate
Drop dan Truncate ialah dua pernyataan SQL (Structured Query Language) yang digunakan dalam Sistem Pengurusan Pangkalan Data, di mana kami ingin mengalih keluar rekod data daripada pangkalan data. Kedua-dua pernyataan Drop dan Truncate mengalih keluar keseluruhan data dalam jadual dan pernyataan SQL yang berkaitan. Operasi padam tidak berkesan dalam kes ini kerana ia menggunakan lebih banyak ruang storan daripada Drop dan Truncate.
Sekiranya, jika kami ingin membuang jadual dalam pangkalan data bersama-sama dengan semua datanya, SQL membolehkan kami melakukan ini dengan mudah menggunakan pernyataan Drop. Arahan drop ialah arahan DDL (Data Definition Language), dan ia boleh digunakan untuk memusnahkan pangkalan data, jadual, indeks atau paparan sedia ada. Ia memadamkan keseluruhan maklumat dalam jadual, serta struktur jadual daripada pangkalan data. Selain itu, kami mungkin ingin menyingkirkan semua data dalam jadual dengan mudah, tetapi tanpa jadual, dan kami boleh menggunakan pernyataan Truncate dalam SQL dalam senario sedemikian. Truncate juga merupakan arahan DDL dan ia menghapuskan semua baris dalam jadual tetapi mengekalkan definisi jadual yang sama untuk kegunaan masa hadapan.
Arahan lepas
Seperti yang dinyatakan sebelum ini, perintah Drop mengalih keluar definisi jadual dan semua datanya, kekangan integriti, indeks, pencetus dan keistimewaan akses, yang dibuat pada jadual tertentu itu. Jadi ia menjatuhkan objek sedia ada dari pangkalan data sepenuhnya, dan hubungan ke jadual lain juga tidak lagi sah selepas melaksanakan arahan. Ia juga mengalih keluar semua maklumat tentang jadual daripada kamus data. Berikut ialah sintaks biasa untuk menggunakan pernyataan Drop pada jadual.
DROP MEJA
Kami hanya perlu menggantikan nama jadual yang ingin kami alih keluar daripada pangkalan data dalam contoh arahan Drop di atas.
Adalah penting untuk menunjukkan bahawa pernyataan Drop tidak boleh digunakan untuk memadamkan jadual, yang telah dirujuk oleh kekangan kunci asing. Dalam kes itu, kekangan kunci asing yang merujuk, atau jadual tertentu itu harus digugurkan dahulu. Juga, pernyataan Drop tidak boleh digunakan pada jadual sistem dalam pangkalan data.
Memandangkan arahan Drop ialah pernyataan komit automatik, operasi sebaik sahaja dicetuskan tidak boleh ditarik balik dan tiada pencetus akan dicetuskan. Apabila jadual digugurkan, semua rujukan kepada jadual tidak akan sah, jadi, jika kita mahu menggunakan jadual itu semula, ia perlu dicipta semula dengan semua kekangan integriti dan keistimewaan akses. Semua perhubungan dengan jadual lain juga perlu dikesan semula.
Perintah truncate
Perintah Truncate ialah perintah DDL dan ia mengalih keluar semua baris dalam jadual tanpa sebarang syarat yang ditentukan pengguna dan melepaskan ruang yang digunakan oleh jadual, tetapi struktur jadual dengan lajur, indeks dan kekangannya tetap sama. Truncate menghapuskan data daripada jadual dengan mendelokasikan halaman data yang digunakan untuk menyimpan data jadual dan hanya deallokasi halaman ini disimpan dalam log transaksi. Oleh itu, ia menggunakan lebih sedikit sumber log transaksi dan sumber sistem berbanding dengan arahan SQL lain yang berkaitan seperti Padam. Jadi Truncate adalah pernyataan yang lebih cepat sedikit daripada yang lain. Berikut ialah sintaks biasa untuk perintah Truncate.
MEJA POTONG
Kita harus menggantikan nama jadual, yang daripadanya kita ingin mengalih keluar keseluruhan data, dalam sintaks di atas.
Truncate tidak boleh digunakan pada jadual yang telah dirujuk oleh kekangan kunci asing. Ia menggunakan komit secara automatik sebelum ia bertindak dan komit lain selepas itu jadi pemulangan urus niaga adalah mustahil dan tiada pencetus dicetuskan. Jika kita ingin menggunakan semula jadual, kita hanya perlu mengakses definisi jadual sedia ada dalam pangkalan data.
Apakah perbezaan antara Drop dan Truncate?
Kedua-dua perintah Drop dan Truncate ialah perintah DDL dan juga pernyataan auto commit supaya transaksi yang dilakukan menggunakan arahan ini tidak boleh ditarik balik.
Perbezaan utama antara Drop dan Truncate ialah arahan Drop mengalih keluar, bukan sahaja semua data dalam jadual, tetapi juga mengalih keluar struktur jadual secara kekal daripada pangkalan data dengan semua rujukan, manakala perintah Truncate hanya mengalih keluar semua baris dalam jadual dan ia mengekalkan struktur jadual dan rujukannya.
Jika jadual digugurkan, perhubungan dengan jadual lain tidak lagi sah, dan kekangan integriti dan keistimewaan akses juga akan dialih keluar. Jadi jika jadual diperlukan untuk digunakan semula, ia perlu dibina semula dengan perhubungan, kekangan integriti, dan juga keistimewaan akses. Tetapi jika jadual dipenggal, struktur jadual dan kekangannya kekal untuk kegunaan masa hadapan, oleh itu, mana-mana rekreasi di atas tidak diperlukan untuk digunakan semula.
Apabila arahan ini digunakan, kita mesti berhati-hati untuk menggunakannya. Selain itu, kita harus mempunyai pemahaman yang lebih baik tentang sifat perintah ini, cara ia berfungsi, dan juga beberapa perancangan yang teliti sebelum menggunakannya untuk mengelakkan daripada kehilangan perkara penting. Akhir sekali, kedua-dua arahan ini boleh digunakan untuk membersihkan pangkalan data dengan cepat dan mudah, menggunakan lebih sedikit sumber.