sql >> データベース >  >> RDS >> Mysql

結合とサブクエリ

    サブクエリは、「Bからのファクトを条件として、Aからファクトを取得する」という形式の問題を解決するための論理的に正しい方法です。このような場合、結合を行うよりも、サブクエリにBを固定する方が論理的に意味があります。また、Bとの複数の一致のために、Aから重複したファクトを取得することに注意する必要がないため、実用的な意味でより安全です。

    ただし、実際には、答えは通常、パフォーマンスに帰着します。一部のオプティマイザーは、結合とサブクエリが与えられたときにレモンを吸います。また、一部のオプティマイザーは、逆にレモンを吸います。これは、オプティマイザー固有、DBMSバージョン固有、およびクエリ固有です。

    歴史的に、明示的な結合が通常勝つため、結合という確立された知恵は優れていますが、オプティマイザーは常に向上しているため、最初に論理的に一貫した方法でクエリを記述し、パフォーマンスの制約がこれを正当化する場合は再構築することを好みます。



    1. MySQLでの投票と調査のためのデータベースを設計するためのガイド

    2. PostgreSQLがタイムゾーンのないタイムスタンプからタイムゾーンのあるタイムスタンプに誤って変換する

    3. 10進数のNLS_NUMERIC_CHARACTERS設定

    4. Oracle:パフォーマンスの一括収集