Skip to main content

Menghapus record dalam jumlah besar pada SQL SERVER tanpa menambah beban Harddisk

Dear Pembaca setia,
Hari ini penulis ingin sharing tentang bagaimana melakukan penghapusan record tanpa menambah beban space harddisk.



Pada dasarnya, penghapusan rekod pada tabel akan mengkonsumsi space yang ada di harddisk. Gambarannya, record akan disimpan di harddisk terlebih dahulu sebelum dilakukan penghapusan, sehingga saat penghapusan rekord dibatalkan sebelum selesai, maka record yang ada akan dikembalikan, atau di-Rollback.

Dengan demikian, untuk penghapusan record dalam jumlah besar (diatas 100 juta record), maka konsumsi harddisk akan meningkat untuk Log File dari database tersebut, melebihi ukuran dari database itu sendiri.

Solusinya, penghapusan akan dilakukan per-n-row sehingga transaksi yang disimpan di Log File tidak tumbuh dalam jumlah yang besar. Berikut QUERY-nya


DECLARE @Deleted_Rows INT;
SET @Deleted_Rows = 1;


WHILE (@Deleted_Rows > 0)
  BEGIN
   -- Delete some small number of rows at a time
     DELETE TOP (10000)  [MyTable]

  SET @Deleted_Rows = @@ROWCOUNT;
END

Demikian untuk tutorial hari ini, salam Coding.

Comments

Popular posts from this blog

Pengaturan TP-LINK TL-MR3020 sebagai WiFi Client

Dear Pembaca setia, Kali ini penulis ingin berbagi cerita, bagaimana sebuah devices (PC atau yang lain) yang tidak memiliki modul Wireless, dan hanya memiliki port LAN (RJ45), dapat terkoneksi ke jaringan dengan bantuan Wireless Router TP-Link TL-MR3020. Caranya adalah dengan

Big Truck Adventure

Informasi bagi pembaca blog sekalian, halaman game online yang saya upload kemarin linknya telah saya pindahkan ke halaman yang baru. Silahkan lihat di bagian sidebar kiri sebelah atas. Terima kasih atas kunjungannya :-)