私はこれがパルプに打ち負かされたことを知っていますが、うまくいく本当に良い答えを見たことがありません. これが私の状況です。次のクエリがあります。
SELECT items.item_name, sort_order as total_count, user_top_favorites.item_id.item_id
FROM user_top_favorites
INNER JOIN items ON user_top_favorites.item_id = items.item_id
WHERE user_top_favorites.user_id = 1
GROUP by user_top_favorites.item_id.item_id
ORDER BY sort_order asc
LIMIT 0 , 6
次のインデックスを試しました。
user_sort (user_id, item_id, sort_order)
user_sort (item_id, user_id, sort_order)
user_sort (user_id, sort_order, item_id)
そして、私はいつも得ます:Using temporary; Using filesort
一時的なファイルソートを避けるための正しいインデックスは何ですか?
UPDATE:
user_sort
は私が作成したインデックスの名前であり、インデックスはuser_top_favorites
テーブルに属しています。