次のジョブ選択クエリがあります(実際のクエリは多数の結合で大規模です)メインクエリ:
SELECT id FROM job LIMIT 20
ユーザーがログインするときに、ユーザーがジョブを保存したかどうかを選択したい。(多くのユーザーが、主な結果は 1 つ)
私の質問は、より効率的な方法ですか?(クエリキャッシュ、バッファプールなどの観点から考える)
方法1:
SELECT id, Member
FROM job AS t1 LEFT JOIN Member AS t2 ON (t1.id=t2.Job) LIMIT 20
(つまり、ユーザーがジョブを保存しなかった場合、Select Member に対して「Null」が返されます)
方法 2:
主な結果に対してメイン クエリを使用し、次に各結果に対して選択します (つまり、ループ SQL クエリ)。
SELECT Member FROM Member WHERE Member=1 AND Job=(each job id)