我有一个跨 2000 万条记录表的简单查询,我需要一个索引来改进以下查询的 select 语句:
SELECT count(item_id), count(distinct user_id)
FROM activity
INNER JOIN item on item.item_id = activity.item_id
WHERE item.item_id = 3839 and activity.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
我有一个索引:
activity - activity_id (PRIMARY), item_id, created_at - All Single Index
item - item_id (PRIMARY)
对于具有大量内容(如 600k)的项目,运行查询需要 4-5 秒。
有什么建议吗?