http://dev.mysqlのMySQLドキュメントから.com / doc / refman / 5.6 / en / order-by-optimization.html
場合によっては、MySQLはインデックスを使用してORDER BY
を解決できないことがあります 、ただし、インデックスを使用してWHERE
に一致する行を検索します 句。これらのケースには、次のものが含まれます。
。 。 。
行のフェッチに使用されるキーは、ORDER BY
で使用されるキーと同じではありません :
`SELECT * FROM t1 WHERE key2=constant ORDER BY key1;`
これはおそらく役に立たないでしょうが、AND ID > 0
を追加するとどうなりますか WHERE
へ 句?これにより、MySQLはソートに主キーを使用しますか?試してみる価値はあると思います。
(akにはインデックスさえないため、akでの順序付けが効率的であるのは奇妙に思えますが、それはakの値が少ないことが原因である可能性がありますか?)