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

SQLクエリのパフォーマンスに関する質問(複数のサブクエリ)

    「アクティブ」がアルファベット順の最初の場合、サブクエリを次のように減らすことができます。

    SELECT p.id, r.status, r.title
    FROM page AS p
        INNER JOIN page_revision as r ON r.pageId = p.id AND 
            r.id = (SELECT r2.id 
                    FROM page_revision as r2 
                    WHERE r2.pageId = r.pageId 
                    ORDER BY r2.status, r2.id DESC
                    LIMIT 1)
    

    それ以外の場合は、ORDERBY行を

    に置き換えることができます。
    ORDER BY CASE r2.status WHEN 'active' THEN 0 ELSE 1 END, r2.id DESC
    

    これらはすべてSQLServerに関する私の仮定に基づいており、MySQLでのマイレージは異なる場合があります。



    1. 外部キーと主キーのPostgresとインデックス

    2. Hibernateで一括挿入または更新しますか?

    3. 長所と短所を使用してSQLServerテーブルの行をカウントする4つの方法

    4. SqlAlchemy接続文字列