ORDERBYの日時列を持つテーブルがあります。何をするにしても、EXPLAINから「whereusing;usingfilesort」を取得し続けます。
filesortを使用しないように日時列でORDERBYを取得する方法はありませんか?
クエリは非常に単純で、次のようになります。
SELECT * FROM table1 WHERE creator_id = 1 AND user_id != 1 ORDER BY created DESC LIMIT 5
indexはcreator_idとuser_idにあります。基本的に常に一意であるため、createdにインデックスを付ける理由はありません。したがって、すべてのアイテム、つまりテーブルと同じ大きさのインデックスが作成されます。
編集:私は作成されたものにもインデックスを付けてみましたが、同じ結果です。