2つのテーブルを比較するとスピードに問題があります。 次の表があるとします。2つのテーブルを比較すると、既存の "id"が見つかりません
表 14,000レコードを
名(VARCHAR)今、私が欲しい、JOIN_ID(INT)
表B 54209レコードの
second_name、JOIN_ID(INT)
テーブルAに存在する行を見つけますが、Bにはjoint_idで接続されていません ランダム(ソート順)
私は次のことを試してみました:
SELECT a.name , b.second_name
FROM a
LEFT OUTER JOIN b ON a.joint_id = b.joint_id
WHERE b.joint_id IS NULL
LIMIT 0,10
クエリが年齢を取り、サーバーをめちゃくちゃされているので、私の質問があります。
これを行う方法はありますか?
EDIT:私はRAND()を削除しましたが、これは別の方法で解決できます。 しかし、私はまだ同じ問題があります。 以下の提案を試し、クエリ時間を改善できるかどうかを確認します。
テーブルにインデックスがありますか? –
''選択するa.nameなどを実行する ''を実行します。 Mysqlは、クエリの実行に役立つインデックス(もしあれば)を表示します。 –
なぜORDER BY RAND()を使用していますか?大きなテーブルでは非常に効率が悪いですか? –