インデックスが適切に使用されている場合、ほとんどの場合、より効率的です。 JOINを使用します。最高の効率が常に最高のパフォーマンスと等しいとは限らないため、強調が追加されます。
ただし、万能の答えは実際にはありません。 EXPLAIN
を使用してクエリを分析する必要があります インデックスが実際に使用されていること、不要な一時テーブルが使用されていないことなどを確認するため。場合によっては 、条件は、できないクエリを作成するために共謀します インデックスを使用します。そのような場合、可能性があります 指定した方法でクエリを細かく分割する方が速いです。
既存のプロジェクトでそのようなコードに遭遇した場合、私はそれを疑問視します:クエリをチェックし、クエリを実行するさまざまな方法を考え、これらのことが考慮されていることを確認し、実践に賛成または反対の科学的で事実に裏付けられたケースを構築します。 JOINを使用しないことは、データベースまたはクエリの設計が不十分であることを表面的に示しているため、元の開発者がデューデリジェンスを行ったことを確認してください。ただし、最終的には結果が大きくなり、すべての最適化と修正の結果、クエリフラグメントを使用するよりも結合が遅くなる場合は、より高速なソリューションが優先されます。ベンチマークを行い、ベンチマークの結果に基づいて行動します。ソフトウェア設計では、パフォーマンスの低下と引き換えに、実行すべきか実行すべきでないかについての任意のルールを順守する必要がある場合はありません。最高のパフォーマンスを発揮する方法が最高の方法です。