エイリアスが原因です。 ORDER BY
インデックスが付けられているもので順序付けされている場合は、インデックスを使用できます。 ceremonyDate
日付はインデックスに登録できます、YEAR(ceremoneyDate)
ceremonyDate
の値を変更します まったく違うものに変更するので、YEAR(ceremoneyDate)
インデックス付けされていません。
また、エイリアスにインデックスを付けることはできないため、これはORDER BY
の順序で インデックスを使用するには、単純な列名または列名のリストである必要があります。
これを実行して、インデックスを使用できるはずです:
SELECT ordinal,YEAR(ceremonydate) as yr
FROM awardinfo
ORDER BY ceremonydate DESC LIMIT 1;
データがどのように見えるかを知らなくても、代わりにそれが機能する可能性があります。
詳細: http://dev.mysql。 com / doc / refman / 5.0 / en / order-by-optimization.html