私は少し新しく結合するので、これが可能かどうかはわかりません。私は私が必要なもの...MySQLを既存のNOT JOINに変換する
いくつかのことをグーグルとしようとしてきた。ここで、user2data.user_id =「X」に対応するuser2data.user_idが
存在しない選択data.idを
エキサイティングな権利ですか? :Dどのような作品
:
SELECT * FROM data WHERE NOT EXISTS (SELECT * FROM user2data WHERE user2data.user_id=1 AND user2data.data_id=data.id) LIMIT 100;
しかし、それはすべての3つの列がインデックス化されていても、遅いです。私はこの目的のために別のSO答えからOUTER JOINを試しましたが、それは上記よりもずっと遅いです。私が必要とするのは、INNER JOINです。
これが実際に可能かどうか、またはインデックスを利用する代替方法がある場合は教えてください。
おかげで、最高の
に参加使用することができるのだろうが、私は ''(user_idは、DATA_ID)以上user2data' 'の*複合*指数をお勧めしたいです。 – eggyal
存在しないデータに対して内部結合を実行することはできません。 – shawnt00
結合している列が索引付けされていることを確認してから、外部結合が高速になるようにしてください。 – Barmar