Mengoptimumkan Pemadaman Baris Besar-besaran dalam MySQL
Apabila berurusan dengan berjuta-juta baris pendua dalam jadual besar, pemadaman yang cekap menjadi penting untuk mengelakkan gangguan biasa operasi pangkalan data. Artikel ini meneroka pendekatan alternatif untuk meminimumkan masa kunci jadual dan mengekalkan masa aktif tapak.
Pilihan 1: Pemadaman Berperingkat
Daripada melaksanakan satu pertanyaan pemadaman yang menyeluruh, kaedah ini menggunakan gelung untuk melaksanakan banyak operasi pemadaman yang lebih kecil. Walaupun pendekatan ini menangani penguncian jadual, ia masih boleh meningkatkan beban pangkalan data dan masa pelaksanaan dengan ketara.
Pilihan 2: Namakan semula dan Pulihkan
Menamakan semula jadual yang terjejas, mencipta semula kosong satu, dan seterusnya menamakan semula jadual selepas pembersihan menawarkan penyelesaian yang kurang mengganggu. Walau bagaimanapun, proses ini melibatkan berbilang langkah dan boleh mengganggu fungsi pelaporan. Proses penggabungan data juga boleh mencabar berdasarkan jenis data tertentu.
Penyelesaian Optimum
Teknik alternatif ialah menggunakan skrip yang menjalankan pertanyaan berikut dalam gelung:
DELETE FROM `table` WHERE (whatever criteria) ORDER BY `id` LIMIT 1000
Pertanyaan ini memadamkan baris secara beransur-ansur dalam kelompok 1000, dengan berkesan mengelakkan kunci meja. Dengan memasukkan jeda antara lelaran gelung, skrip meminimumkan beban pangkalan data. Pengguna kekal tidak terjejas dan pembersihan boleh dijadualkan untuk masa yang optimum.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Berjuta-juta Baris Pendua dengan Cekap dalam MySQL Tanpa Mengganggu Operasi Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!