1

私は全体的なパフォーマンスについて考えており、その問題のためにテーブルから行を取得する最速の方法について質問に来ました:

SELECT *
FROM table a
WHERE a.id IN (SELECT id FROM table b)

また

SELECT *
FROM table a
WHERE (SELECT COUNT(id) FROM table b WHERE b.id = a.id)>0

私の開発マシンでプロファイラーを実行しても大きな違いはありませんが、その問題を比較するための巨大なデータ テーブルはありません。

ですから、誰かがどちらの方法が優れているか、またその理由を教えてくれたらうれしいです。値を多くのようINに分割することを一度読んだことがありますが、これが一般的であり、サブ選択を照会した場合と同じかどうかはわかりません。この場合、COUNTの方が速いと思います...ORIN (1,2,3,4)1 OR 2 OR 3 OR 4

4

2 に答える 2