我有一张用户购买的商品表,在该表中有一个类别标识符。所以,我想向用户展示同一张桌子上的其他商品,他们已经购买过相同的类别。
我正在尝试的查询运行时间超过 22 秒,而主要项目表甚至没有 3000 行......为什么效率这么低?我应该索引哪些列,如果是的话?
这是查询:
select * from items
where category in (
select category from items
where ((user_id = '63') AND (category <> '0'))
group by category
)
order by dateadded desc limit 20