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

パフォーマンスを向上させるために、依存サブクエリを結合に変換するにはどうすればよいですか?

    最初にこのクエリを試してください-

    SELECT
      t.*, ti1.*
    FROM
      themes t
    JOIN theme_images ti1
      ON ti1.theme_id = t.theme_id
    JOIN (SELECT theme_id, MIN(image_id) image_id FROM theme_images GROUP BY theme_id) ti2
      ON ti1.theme_id = ti2.theme_id AND ti1.image_id = ti2.image_id
    ORDER BY 
      t.theme_date_last_modification DESC
    LIMIT 10
    

    もう1つの解決策-

    SELECT
      t.*, ti.*
    FROM
      themes t
    JOIN (SELECT * FROM theme_images ORDER BY image_id) ti
      ON ti.theme_id = t.theme_id
    GROUP BY
      theme_id 
    ORDER BY 
      t.theme_date_last_modification DESC
    LIMIT
      10
    

    次に、WHEREフィルターを追加します。



    1. mysqlのlat/Longeo検索を最適化するためのヘルプが必要

    2. UbuntuにluaSQLをインストールする

    3. SQLを生成して主キーを更新します

    4. SQL INTERSECT