Isu yang dihadapi melibatkan "SELECT yang perlahan" COUNT(*)" dalam MySQL, walaupun apabila klausa "WHERE" digunakan. Untuk menangani cabaran ini, adalah penting untuk memahami mekanisme storan MySQL.
InnoDB, enjin storan yang digunakan dalam contoh ini, menggunakan kunci utama berkelompok . Ini bermakna kunci utama disimpan bersama baris data dalam halaman data yang sama, bukannya dalam halaman indeks yang berasingan. Akibatnya, melakukan imbasan julat pada kunci utama berkelompok memerlukan pengimbasan melalui semua baris, termasuk nilai lajur yang berpotensi lebar. Jadual yang dimaksudkan mengandungi lajur TEKS, yang memburukkan lagi isu prestasi.
Untuk mengoptimumkan pertanyaan ini, pertimbangkan strategi berikut:
Untuk meningkatkan lagi prestasi, pertimbangkan untuk mengubah suai lajur "change_event_id" menjadi "BIGINT UNSIGNED" jika ia meningkat daripada sifar. Perubahan ini boleh mengakibatkan keperluan storan berkurangan dan prestasi yang dipertingkatkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mempercepatkan Pertanyaan \'SELECT COUNT(*)...\' dengan Klausa WHERE dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!