Dari dokumentasi MySQL di http://dev.mysql .com/doc/refman/5.6/en/order-by-optimization.html
Dalam beberapa kasus, MySQL tidak dapat menggunakan indeks untuk menyelesaikan ORDER BY
, meskipun masih menggunakan indeks untuk menemukan baris yang cocok dengan WHERE
ayat. Kasus-kasus tersebut antara lain sebagai berikut:
. . .
Kunci yang digunakan untuk mengambil baris tidak sama dengan yang digunakan di ORDER BY
:
`SELECT * FROM t1 WHERE key2=constant ORDER BY key1;`
Ini mungkin tidak akan membantu, tetapi apa yang terjadi jika Anda menambahkan AND ID > 0
ke WHERE
ayat? Apakah ini akan menyebabkan MySQL menggunakan kunci utama untuk menyortir? Patut dicoba.
(Tampaknya aneh bahwa memesan dengan ak efisien, karena ak bahkan tidak memiliki indeks, tapi itu mungkin karena nilai ak yang lebih sedikit?)