小さなデータセットで正常に動作する次の SQL コードがあります。SELECT DISTINCT c.name
ループ条件としてa を使用して、これを MySQL の FOR ループに入れることを検討すべきだと友人に言われました。
SELECT c.name, c.limit, c.price, c._low, c._high, c.date
FROM comp c
WHERE c.e_id IN
(SELECT e_id FROM part_e WHERE core_id=23)
OR c.pn IN
(SELECT pn FROM part_ct WHERE core_id=23)
GROUP BY c.name
ORDER BY c.date DESC, c.name ASC
LIMIT 0,200
新しい SQL プログラマーとして、MySQL でループを実行する方法を調べていました。概念的には単純に思えますが、これを実際にループで実行する SQL ステートメントを実際に設計する方法を理解するのに苦労しています。
私の友人は、ループを使用する必要がある理由は、SQL データセットで「post」演算子を使用すると、非常に大きなデータセットを処理するとき、または非常に大きなクエリ要求を処理するときに、パフォーマンスに悪影響を与える可能性があるためだと言いました。
これは私には理にかなっているので、これを行う方法を理解するための助けと、サブクエリが悪い習慣と見なされる理由に関する詳細情報を探しています。
助けてくれてありがとう!