所以我有两张桌子,一张叫user
,一张叫user_favorite
。user_favorite
存储一个itemId
and userId
,用于存储用户收藏的项目。我只是试图找到没有记录的用户user_favorite
,所以我可以找到那些还没有收藏任何内容的用户。
出于测试目的,我有 6001 条记录user
和6001 条记录user_favorite
,所以只有一条记录没有收藏夹。
这是我的查询:
SELECT u.* FROM user u
JOIN user_favorite fav ON u.id != fav.userId
ORDER BY id DESC
这里id
最后一条语句中的 没有歧义,它指的是user
表中的 id。我有一个 PK 索引u.id
和一个fav.userId
.
当我运行此查询时,我的计算机变得无响应并完全冻结,没有给出任何输出。我有 2gb 的 RAM,不是一台很棒的计算机,但我认为它应该能够轻松地处理带有 6k 条记录的查询。
这两个表都在 MyISAM 中,这可能是问题吗?切换到 INNODB 会修复它吗?