右側のテーブルにないレコードのみを左側のテーブルから取得しようとしています。左のテーブルには約 5000 件のレコードがあります。同様に、3 ~ 4 個を超えるテーブルでも同じことを行う必要があります。残りの 3 ~ 4 個のテーブルにない最初のテーブルからレコードを見つける必要があります。同じ主キーまたは外部キーの概念が機能しています。
2 つのテーブルを取得する最初の試みでは、元の 5k レコードから 5,70,000 レコードを取得しました。レコードを繰り返します。
SELECT m.* FROM members m, pinnumber p where p.pinmemberid != m.memberid
2 回目の試みでも、mysql ブラウザがハングアップしました。
SELECT m.* FROM members m
LEFT JOIN pinnumber p ON p.pinmemberid != m.memberid
LEFT JOIN customer c ON m.memberid != c.memberid
3回目の試みでもかなりの時間を稼いでいます
SELECT * FROM members m
WHERE 1=1 AND AND not exists ( select 1 from pinnumber p where 1=1 And
p.pinmemberid = m.memberid AND p.pinproductid LIKE '%Remit%')
AND not exists ( select 1 from customer c where 1=1 and c.card_name is not null AND m.memberid = c.memberid )
これをどうするか教えてください。これに非等結合を配置する必要がある場合。