我知道这个问题似乎重复,但我不知道如何以不同的方式提出问题。如何检查id是否存在于另一个表中给定的表是3000万条记录?
我在MySQL数据库中有两个非常简单的表格,第一个是表Users
id, user_id
1 1
2 3
4 4
二是表友
id, user_id, friend_id
1 1 3
2 1 4
3 1 8
我甩从CSV文件中的数据,我想清洁。我需要检查表1中是否存在friend_id。第一张桌子有大约30000行,但第二张桌子有大约3000万行。
而且我用这个查询,以检查
SELECT u.user_id, uf.friend_id as exists_friend_ids
FROM Users u, Friends uf
WHERE u.user_id = '1'
and uf.friend_id IN (select user_id from eventify.Users)
然而,我所期望的输出会是这样,但我不能运行上述查询实际上给我的测试结果我无法继续。
user_id, exists_friend_ids
1 3
1 4
您可以看到8不存在,因为它不存在于Users表中。但是,由于第二张表拥有超过3000万条记录,它只是在我的电脑上永远运行。我是对的还是这是做到这一点的唯一方法。或者我应该学习Hadoop?
我已更新我的查询以使用相等连接。
我还没有试过呢,但现在,我尽量不会给任何结果,因为它真的很慢的任意查询。 – toy