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

JOINクエリと複数のクエリ

    内部結合の場合、一致する行しか取得できないため、単一のクエリが理にかなっています。左結合の場合、複数のクエリの方がはるかに優れています...私が行った次のベンチマークを見てください。

    1. 5つの結合を含む単一のクエリ

      クエリ:8.074508秒

      結果のサイズ:2268000

    2. 5つのクエリを続けて

      合計クエリ時間:0.00262秒

      結果のサイズ:165​​(6 + 50 + 7 + 12 + 90)

    どちらの場合も同じ結果が得られることに注意してください(6 x 50 x 7 x 12 x 90 =2268000)

    左結合は、冗長データで指数関数的に多くのメモリを使用します。

    2つのテーブルの結合のみを行う場合、メモリ制限はそれほど悪くない可能性がありますが、通常は3つ以上であり、異なるクエリの価値があります。

    ちなみに、私のMySQLサーバーは私のアプリケーションサーバーのすぐ横にあります...したがって、接続時間はごくわずかです。接続時間が秒単位の場合は、メリットがあるかもしれません

    フランク



    1. SQLServerで複数のスペースの文字列を返す3つの方法

    2. SQLServerの複雑さを軽減するためのヒント

    3. Oracleで負の値を正に変更する方法は?

    4. 外部キーSQL:外部キー操作について知っておくべきことすべて