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

Oracleクエリの最適化についてサポートが必要

    上記の2つのクエリを単純に組み合わせたクエリを次に示します。必ず、2つのメソッドからの出力を確認して比較してください。

    select 
      r.user_id, r.role_id, r.participant_code, max(status_id)
    from 
      user_role r, 
      cmp_role c
    where 
          r.role_id = c.role_id
      and r.active in (0,1,3)
      and r.participant_code is not null
      and sysdate between r.effective_from_date and r.effective_to_date
      and c.group_id = 3
    group by 
      r.user_id, r.role_id, r.participant_code;
    

    必要な結果を得るために、一時テーブルを使用して後でレコードを削除する必要はありません。それを使用する理由があったかもしれませんが、おそらくパフォーマンスですか?

    また、クエリのように見え、USERに参加します USER_IDとして、テーブルは不要です USER_ROLESから入手できます 。上記のクエリから省略しました。うまくいけば、それはあなたにそれを改善するための良いスタートを与えるでしょう。



    1. LinuxのSQLServerAzure/2022データベース元帳テーブル。

    2. MySQL/MariaDBサーバーを保護する方法

    3. テーブルから別のテーブルに2つのFKを結合するにはどうすればよいですか?

    4. PHPの要約について尋ねる01+01 =02