Hapus vs Potong
Kedua perintah SQL (Structure Query Language), Delete dan Truncate digunakan untuk membuang data yang disimpan dalam tabel dalam database. Hapus adalah pernyataan DML (Data Manipulation Language) dan menghapus beberapa atau semua baris tabel. 'Di mana klausa' digunakan untuk menentukan baris yang perlu dihapus, dan jika klausa Di mana tidak digunakan dengan pernyataan Hapus, ini menghapus semua data dalam tabel. Truncate adalah pernyataan DDL (Data Definition Language), dan ini menghapus seluruh data dari tabel. Kedua perintah ini tidak merusak struktur tabel dan referensi ke tabel, dan hanya datanya yang dihapus sesuai kebutuhan.
Hapus Pernyataan
Pernyataan Hapus memungkinkan pengguna untuk menghapus data dari tabel yang ada dalam database berdasarkan kondisi tertentu, dan 'Klausa mana' digunakan untuk menentukan kondisi ini. Perintah hapus disebut sebagai eksekusi yang dicatat, karena hanya menghapus satu baris pada satu waktu, dan menyimpan entri untuk setiap penghapusan baris di log transaksi. Jadi, hal ini menyebabkan pengoperasian menjadi lebih lambat. Hapus adalah pernyataan DML, sehingga tidak otomatis dilakukan saat menjalankan perintah. Oleh karena itu, operasi Hapus dapat digulung kembali untuk mengakses data lagi, jika diperlukan. Setelah menjalankan perintah Hapus, itu harus dilakukan atau dibatalkan untuk menyimpan perubahan secara permanen. Hapus pernyataan tidak menghapus struktur tabel dari tabel dari database. Juga tidak membatalkan alokasi ruang memori yang digunakan oleh tabel.
Sintaks khas untuk perintah Hapus dinyatakan di bawah ini.
HAPUS DARI
atau
HAPUS DARI MANA
Pernyataan Pemotongan
Pernyataan pemotongan menghapus semua data dari tabel yang ada dalam database, tetapi mempertahankan struktur tabel yang sama, juga batasan integritas, hak akses dan hubungan ke tabel lain. Jadi, tidak perlu lagi mendefinisikan tabel, dan struktur tabel lama dapat digunakan, jika pengguna ingin menggunakan kembali tabel tersebut. Truncate menghapus seluruh data dengan membatalkan alokasi halaman data yang digunakan untuk menyimpan data, dan hanya pembatalan alokasi halaman ini yang disimpan di log transaksi. Oleh karena itu, perintah truncate hanya menggunakan sumber daya log sistem dan transaksi yang lebih sedikit untuk operasi, jadi lebih cepat daripada perintah terkait lainnya. Truncate adalah perintah DDL, sehingga menggunakan komitmen otomatis sebelum dan sesudah eksekusi pernyataan. Karenanya, truncate tidak dapat memutar kembali data dengan cara apa pun. Ini melepaskan ruang memori yang digunakan oleh tabel setelah eksekusi. Tapi pernyataan potong tidak bisa diterapkan pada tabel yang direferensikan oleh batasan kunci asing.
Berikut ini adalah sintaks umum untuk pernyataan Truncate.
POTONG TABEL
Apa perbedaan antara Delete dan Truncate? 1. Perintah Delete dan Truncate menghapus data dari tabel yang ada dalam database tanpa merusak struktur tabel atau referensi lain ke tabel. 2. Namun, perintah Delete dapat digunakan untuk menghapus baris tertentu hanya dalam tabel menggunakan kondisi yang relevan, atau untuk menghapus semua baris tanpa kondisi apapun, sedangkan perintah Truncate hanya dapat digunakan untuk menghapus seluruh data dalam tabel. 3. Hapus adalah perintah DML, dan dapat mengembalikan operasi jika perlu, tetapi Pemotongan adalah perintah DDL, jadi ini adalah pernyataan komit otomatis dan tidak dapat dibatalkan dengan cara apa pun. Jadi penting untuk menggunakan perintah ini dengan hati-hati dalam manajemen database. 4. Operasi pemotongan mengkonsumsi lebih sedikit sumber daya sistem dan sumber daya log transaksi daripada operasi Hapus, oleh karena itu, Pemotongan dianggap lebih cepat daripada Hapus. 5. Selain itu, Hapus tidak membatalkan alokasi ruang yang digunakan oleh tabel, sedangkan Truncate membebaskan ruang yang digunakan setelah eksekusi, jadi Hapus tidak efisien jika seluruh data dari tabel database dihapus. 6. Namun, Truncate tidak diperbolehkan untuk digunakan ketika tabel direferensikan oleh batasan kunci asing, dan dalam hal ini, perintah Delete dapat digunakan sebagai pengganti Truncate. 7. Terakhir, kedua perintah ini memiliki kelebihan dan kekurangan dalam menerapkannya dalam Sistem Manajemen Database dan pengguna harus berhati-hati dalam menggunakan perintah ini secara tepat untuk mencapai hasil yang baik. |