Perbezaan antara penurunan dan potong

Perbezaan antara penurunan dan potong

Drop vs Truncate

Drop dan Truncate adalah dua pernyataan SQL (bahasa pertanyaan berstruktur) yang digunakan dalam sistem pengurusan pangkalan data, di mana kami ingin mengeluarkan rekod data dari pangkalan data. Kedua -dua penyataan drop dan truncate mengeluarkan keseluruhan data dalam jadual dan pernyataan SQL yang berkaitan. Padam operasi tidak berkesan dalam kes ini kerana ia menggunakan lebih banyak ruang penyimpanan daripada drop dan truncate.

Sekiranya, jika kita mahu membuang jadual dalam pangkalan data sama sekali dengan semua datanya, SQL membolehkan kita dengan mudah melakukan ini menggunakan pernyataan drop. Perintah drop adalah arahan DDL (Definisi Definisi Data), dan ia boleh digunakan untuk memusnahkan pangkalan data, jadual, indeks atau pandangan yang ada. Ia memadam keseluruhan maklumat dalam jadual, serta struktur jadual dari pangkalan data. Juga, kami mungkin ingin menyingkirkan semua data dalam jadual hanya, 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 depan.

Drop Command

Seperti yang dinyatakan sebelum ini, Drop Command menghilangkan definisi jadual dan semua data, kekangan integriti, indeks, pencetus, dan keistimewaan akses, yang dibuat pada jadual tertentu. Oleh itu, ia menjatuhkan objek yang ada dari pangkalan data sepenuhnya, dan hubungan dengan jadual lain juga tidak lagi sah setelah melaksanakan arahan. Juga menghilangkan semua maklumat mengenai jadual dari kamus data. Berikut adalah sintaks biasa untuk menggunakan pernyataan drop di atas meja.

Jadual drop

Kita harus hanya menggantikan nama jadual yang ingin kita keluarkan dari pangkalan data dalam contoh perintah drop di atas.

Penting untuk menunjukkan bahawa pernyataan drop tidak dapat digunakan untuk memadam jadual, yang telah dirujuk oleh kekangan utama asing. Dalam hal ini, rujukan kekangan utama asing, atau jadual tertentu harus dijatuhkan terlebih dahulu. Juga, pernyataan drop tidak dapat digunakan pada jadual sistem dalam pangkalan data.

Sebagai Drop Command adalah pernyataan komit auto, operasi sekali dipecat tidak dapat dilancarkan kembali dan tidak ada pemicu yang akan dipecat. Apabila jadual dijatuhkan, semua rujukan ke meja tidak akan sah, jadi, jika kita mahu menggunakan jadual lagi, ia perlu dicipta dengan semua kekangan integriti dan keistimewaan akses. Semua hubungan dengan jadual lain, juga harus ditempatkan lagi.

Perintah Truncate

Perintah Truncate adalah arahan DDL, dan ia menghilangkan semua baris dalam jadual tanpa sebarang syarat yang ditentukan pengguna, dan melepaskan ruang yang digunakan oleh jadual, tetapi struktur meja dengan lajur, indeks dan kekangannya tetap sama. Truncate menghapuskan data dari jadual dengan menangani halaman data yang digunakan untuk menyimpan data jadual, dan hanya halaman deallocations ini disimpan dalam log transaksi. Oleh itu, ia menggunakan sumber log transaksi dan sumber sistem yang lebih sedikit berbanding dengan arahan SQL yang berkaitan seperti Padam. Jadi Truncate adalah pernyataan sedikit lebih cepat daripada yang lain. Berikut adalah sintaks biasa untuk arahan Truncate.

Jadual Truncate

Kita harus menggantikan nama jadual, dari mana kita mahu mengeluarkan keseluruhan data, dalam sintaks di atas.

Truncate tidak boleh digunakan di atas meja yang telah dirujuk oleh kekangan utama asing. Ia menggunakan komitmen secara automatik sebelum bertindak dan melakukan yang lain selepas itu sehingga penggantian urus niaga adalah mustahil, dan tidak ada pemicu yang dipecat. Sekiranya kita mahu menggunakan semula jadual, kita hanya perlu mengakses definisi jadual yang ada dalam pangkalan data.

Apakah perbezaan antara penurunan dan Truncate?

Kedua -dua arahan drop dan truncate adalah arahan DDL dan juga pernyataan komitmen auto sehingga urus niaga dilakukan menggunakan arahan ini tidak dapat dilancarkan kembali.

Perbezaan utama antara drop dan truncate adalah bahawa arahan drop menghilangkan, bukan sahaja semua data dalam jadual, tetapi juga menghilangkan struktur jadual secara kekal dari pangkalan data dengan semua rujukan, sementara perintah truncate hanya menghilangkan semua baris dalam jadual , dan ia mengekalkan struktur meja dan rujukannya.

Sekiranya jadual dijatuhkan, hubungan dengan jadual lain tidak lagi sah, dan kekangan integriti dan keistimewaan akses juga akan dikeluarkan. Jadi jika jadual diperlukan untuk digunakan semula, ia perlu dibina semula dengan hubungan, kekangan integriti, dan juga keistimewaan akses. Tetapi jika jadual dipotong, struktur meja dan kekangannya kekal untuk kegunaan masa depan, dan sebagainya, mana -mana rekreasi di atas tidak diperlukan untuk menggunakan semula.

Apabila arahan ini digunakan, kita mesti berhati -hati untuk menggunakannya. Juga, kita harus mempunyai pemahaman yang lebih baik mengenai sifat perintah ini, bagaimana mereka bekerja, dan juga beberapa perancangan yang teliti sebelum menggunakannya untuk mengelakkan dari keperluan yang hilang. Akhirnya, kedua -dua arahan ini dapat digunakan untuk membersihkan pangkalan data dengan cepat dan mudah, memakan sumber yang lebih sedikit.