InnoDB menggunakan kunci utama yang dikelompokkan, sehingga kunci utama disimpan bersama dengan baris di halaman data, bukan di halaman indeks terpisah. Untuk melakukan pemindaian jarak jauh, Anda masih harus memindai semua baris yang berpotensi lebar di halaman data; perhatikan bahwa tabel ini berisi kolom TEXT.
Dua hal yang akan saya coba:
- jalankan
optimize table
. Ini akan memastikan bahwa halaman data disimpan secara fisik dalam urutan yang diurutkan. Hal ini dapat mempercepat pemindaian rentang pada kunci utama yang dikelompokkan. - buat indeks non-utama tambahan hanya pada kolom change_event_id. Ini akan menyimpan salinan kolom itu di halaman indeks yang lebih cepat untuk dipindai. Setelah membuatnya, periksa rencana penjelasan untuk memastikannya menggunakan indeks baru.
(Anda juga mungkin ingin membuat kolom change_event_id bigint tidak ditandatangani jika bertambah dari nol)