Padam vs Potong
Kedua-dua perintah SQL (Structure Query Language), Delete dan Truncate digunakan untuk menyingkirkan data yang disimpan dalam jadual dalam pangkalan data. Hapus adalah pernyataan DML (Data Manipulation Language) dan ia membuang sebahagian atau semua baris jadual. 'Di mana klausa' digunakan untuk menentukan baris yang harus dihapus, dan jika klausa Di mana tidak digunakan dengan pernyataan Hapus, ia akan menghapus semua data dalam jadual. Truncate adalah pernyataan DDL (Data Definition Language), dan ia membuang keseluruhan data dari jadual. Kedua-dua perintah ini tidak menghancurkan struktur tabel dan rujukan ke tabel, dan hanya data yang dikeluarkan jika diperlukan.
Padam Penyataan
Hapus pernyataan membolehkan pengguna untuk menghapus data dari jadual yang ada dalam pangkalan data berdasarkan keadaan yang ditentukan, dan 'Di mana klausa' digunakan untuk menentukan keadaan ini. Perintah hapus disebut sebagai pelaksanaan log, kerana hanya menghapus satu baris pada satu waktu, dan menyimpan entri untuk setiap penghapusan baris dalam log transaksi. Jadi, ini menyebabkan operasi menjadi lebih perlahan. Hapus adalah pernyataan DML, dan itu tidak dilakukan secara automatik semasa menjalankan perintah. Oleh itu, operasi Hapus dapat diputar balik untuk mengakses data sekali lagi, jika diperlukan. Setelah melaksanakan perintah Delete, perintah tersebut harus dilakukan atau digulung kembali untuk menyimpan perubahan secara kekal. Hapus pernyataan tidak membuang struktur jadual dari pangkalan data. Ia juga tidak membuang ruang memori yang digunakan oleh jadual.
Sintaks biasa untuk perintah Hapus dinyatakan di bawah.
HAPUS DARI
atau
HAPUS DARI MANA
Penyataan Truncate
Pernyataan pemotongan membuang semua data dari jadual yang ada dalam pangkalan data, tetapi ia mengekalkan struktur jadual yang sama, juga kekangan integriti, hak akses dan hubungan dengan jadual lain. Oleh itu, tidak diperlukan untuk menentukan jadual lagi, dan struktur jadual lama dapat digunakan, jika pengguna ingin menggunakan semula meja tersebut. Truncate akan menghapus keseluruhan data dengan menyahpindah halaman data yang digunakan untuk menyimpan data, dan hanya penyahlaman halaman ini yang disimpan dalam log transaksi. Oleh itu, perintah truncate hanya menggunakan sumber log sistem dan transaksi yang lebih sedikit untuk operasi, jadi lebih cepat daripada perintah lain yang berkaitan. Truncate adalah perintah DDL, jadi ia menggunakan komitmen automatik sebelum dan sesudah pelaksanaan penyataan. Oleh itu, pemotongan tidak dapat mengembalikan data dengan cara apa pun. Ia melepaskan ruang memori yang digunakan oleh jadual setelah pelaksanaannya. Tetapi pernyataan Truncate tidak dapat diterapkan pada tabel yang dirujuk oleh kekangan kunci asing.
Berikut adalah sintaks biasa untuk pernyataan Truncate.
JADUAL TRUNCATE
Apakah perbezaan antara Hapus dan Potong? 1. Perintah Delete and Truncate membuang data dari jadual yang ada dalam pangkalan data tanpa merosakkan struktur jadual atau rujukan lain ke jadual. 2. Namun, perintah Hapus dapat digunakan untuk menghapus baris tertentu hanya dalam tabel menggunakan kondisi yang relevan, atau untuk menghapus semua baris tanpa syarat apa pun, sementara perintah Pemotongan hanya dapat digunakan untuk menghapus seluruh data dalam tabel. 3. Hapus adalah perintah DML, dan ia dapat memutar balik operasi jika perlu, tetapi Truncate adalah perintah DDL, jadi itu adalah pernyataan komit automatik dan tidak dapat dikembalikan dengan cara apa pun. Oleh itu, penting untuk menggunakan arahan ini dengan berhati-hati dalam pengurusan pangkalan data. 4. Operasi pemotongan menggunakan sumber sistem dan sumber log transaksi yang lebih sedikit daripada operasi Hapus, oleh itu, Truncate dianggap lebih pantas daripada Hapus. 5. Juga, Hapus tidak mengalihkan ruang yang digunakan oleh jadual, sedangkan Truncate membebaskan ruang yang digunakan setelah pelaksanaan, jadi Hapus tidak efisien sekiranya menghapus seluruh data dari tabel pangkalan data. 6. Namun, Truncate tidak dibenarkan untuk digunakan ketika tabel dirujuk oleh kekangan kunci asing, dan dalam hal ini, perintah Delete dapat digunakan sebagai ganti Truncate. 7. Akhirnya, kedua-dua arahan ini mempunyai kelebihan dan kekurangan dalam menerapkannya dalam Sistem Pengurusan Pangkalan Data dan pengguna harus mengetahui penggunaan perintah ini dengan tepat untuk mencapai hasil yang baik. |