質問が重複しているように見えることは知っていますが、別の方法で質問する方法がわかりません。
MySQLデータベースに2つの非常に単純なテーブルがあります。1つ目はテーブルです。Users
id, user_id
1 1
2 3
4 4
2番目はテーブルフレンズです
id, user_id, friend_id
1 1 3
2 1 4
3 1 8
クリーンアップしたいCSVファイルからデータをダンプしました。表1にもfriend_idが存在するかどうかを確認する必要があります。最初のテーブルには約30000行ありますが、2番目のテーブルには約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
Usersテーブルに存在しないため、8が存在しないことがわかります。しかし、2番目のテーブルには3000万を超えるレコードがあるため、私のコンピューターでは永久に実行されています。私はそれを正しくやっていますか、それともこれがそれをする唯一の方法です。または、代わりにHadoopを学ぶ必要がありますか?
等結合を使用するようにクエリを更新しました。