我有一个简单的查询,并按顺序(与连接),但它似乎没有工作没有临时表和文件。下面是该查询:正确的MySQL索引这个简单的查询
SELECT items.name, max(activity.created_at), count(items.item_id) as total_count
FROM activity
INNER JOIN items ON activity.item_id = items.item_id
WHERE activity.user_id = 'XXX'
GROUP BY activity.item_id
order by activity.created_at desc
LIMIT 0, 15
我有一个指标:
(activity.item_id, activity.user_id, activity.created_at) - idx_item_created
(activity.user_id, activity.created_at) - user_id_2
当我强迫idx_item_created它进行全表扫描,默认情况下它运行使用user_id_2和总产:
Using where; Using temporary; Using filesort
无论如何优化此查询更好?
我建议给max(activity.created_at)一个别名并按此排序。 – 2015-02-08 14:48:13