これらのフィールドを持つテーブルがあります: userid、logintime、birthdate
生年月日 X と Y の間のすべてのユーザーを取得する必要があります。
SELECT *
FROM table
WHERE birtdate BETWEEN x AND Y
ORDER BY logintime DESC
birtdate だけでインデックスを定義した場合、mysql は filesort を使用して、回避したい結果を並べ替えます (テーブルが大きくなり、クエリが一般的になります)。
ログイン時間はWHERE句にも含まれていないため、インデックス(ログイン時間、生年月日)を定義しても意味がありません(生年月日で結果セットを制限しているだけです)
mysqlのエレガントなソリューションはありますか?