Memadam Berjuta-juta Baris MySQL dengan Cekap
Memadamkan sejumlah besar data daripada jadual MySQL boleh menimbulkan cabaran kerana potensi isu penguncian jadual. Artikel ini mengkaji senario biasa di mana sejumlah besar baris data pendua mesti dialih keluar tanpa mengganggu operasi tapak.
Cabaran
Halangan utama dalam situasi ini adalah panjang kunci jadual dikenakan apabila melaksanakan satu pertanyaan untuk memadam berjuta-juta baris. Ini boleh menghentikan semua operasi lain yang melibatkan jadual, yang membawa kepada ketidakstabilan tapak.
Penyelesaian Potensi
Untuk mengurangkan isu penguncian, dua pendekatan utama tersedia:
Penyelesaian Dioptimumkan
Untuk prestasi optimum, yang lebih cekap penyelesaian adalah dengan menggunakan pendekatan pemadaman tambahan dengan gelung dan klausa had. Ini melibatkan langkah-langkah berikut:
DELETE FROM `table` WHERE (whatever criteria) ORDER BY `id` LIMIT 1000
Pertanyaan diulang sehingga tiada lagi baris terjejas, dengan jeda singkat antara lelaran untuk mengelakkan pemuatan pangkalan data. Pendekatan ini secara berkesan memadamkan data dalam kelompok terurus sambil membenarkan pertanyaan lain dilaksanakan serentak, mengurangkan kedua-dua masa kunci jadual dan masa pelaksanaan keseluruhan.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Berjuta-juta Baris MySQL Dengan Cekap Tanpa Mengganggu Operasi Tapak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!