我知道这已经被打败了——但我还没有看到一个真正有效的好答案。这是我的情况:我有以下查询:
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
表中。