インデックスとデータファイルの両方からすべてのデータを読み取る必要があるためです。 where
を使用していないため 条件-すべてのデータに行ごとにアクセスするクエリプランが常にあり、これでは何もできません。
このクエリでパフォーマンスが重要であり、頻繁に実行される場合は、結果を一時テーブルにキャッシュして、1時間ごと(毎日など)に更新することをお勧めします。
遅くなる理由:インデックスデータはすでに並べ替えられており、mysqlがクエリ実行のコストを計算するときに、既に並べ替えられたデータを使用してグループ化し、集計を計算する方がよいと考えているためです。しかし、この場合はそうではありません。