InnoDBはクラスター化された主キーを使用するため、主キーは行とともにデータページに格納され、個別のインデックスページには格納されません。範囲スキャンを実行するには、データページの潜在的に広い行をすべてスキャンする必要があります。このテーブルにはTEXT列が含まれていることに注意してください。
私が試す2つのこと:
optimize table
を実行します 。これにより、データページがソートされた順序で物理的に保存されるようになります。これにより、クラスター化された主キーの範囲スキャンが高速化される可能性があります。- change_event_id列だけに追加の非プライマリインデックスを作成します。これにより、その列のコピーがインデックスページに保存され、スキャンがはるかに高速になります。作成後、Explain Planをチェックして、新しいインデックスを使用していることを確認してください。
(また、change_event_id列をbigint unsignedにしたい場合もあります。 ゼロから増分している場合)