Fordi du stadig skal læse alle data fra både indeks + datafil. Da du ikke bruger nogen where
betingelse - du vil altid have forespørgselsplanen, der tilgår alle data, række for række, og du kan ikke gøre noget ved dette.
Hvis ydeevne er vigtig for denne forespørgsel, og den udføres ofte - vil jeg foreslå at cache resultaterne i en midlertidig tabel og opdatere den hver time (dagligt osv.).
Hvorfor det bliver langsommere:Fordi i indeks er data allerede sorteret, og når mysql beregner omkostningerne ved forespørgselsudførelsen, mener det, at det vil være bedre at bruge allerede sorterede data, så gruppere dem og derefter beregne aggregater. Men det er det ikke i dette tilfælde.