Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle क्वेरी को ऑप्टिमाइज़ करें

क्या निम्न क्वेरी समान परिणाम देती है?

SELECT  c.role_id
        , c.subgroup
        , c.subgroup_description
        , COUNT(a.USER_ID) user_count 
FROM    cmp_role c
        LEFT OUTER JOIN (
          SELECT  r.user_id
                  , r.role_id 
          FROM    (
                    SELECT  r.user_id
                            , r.role_id
                            , r.participant_code
                            , MAX(r.status_id) 
                    FROM    user_role r
                            INNER JOIN cmp_role c ON c.role_id = r.role_id
                    WHERE   r.participant_code IS NOT NULL 
                            AND c.group_id = 3 
                    GROUP BY 
                            r.user_id
                            , r.role_id
                            , r.participant_code 
                    HAVING  MAX(r.status_id) IN (
                              SELECT  status_id 
                              FROM    user_role
                              WHERE   (Active = 1 
                                      OR (Active IN ( 0,3 ) 
                                          AND SYSDATE BETWEEN effective_from_date AND effective_to_date)
                                        )
                            ) 
                  ) r
                  INNER JOIN user e ON e.user_id = RTRIM(r.user_id)        
        ) a ON a.role_id = c.role_id         
WHERE   c.group_id = 3
GROUP BY 
        c.role_id
        , c.subgroup
        , c.subgroup_description 
ORDER BY 
        c.subgroup

इसे पढ़ना आसान है (मेरे लिए)। यदि यह समान परिणाम देता है, तो आप पहले से ही r.participant_code dropping छोड़ने के साथ शुरू कर सकते हैं और MAX(r.status_id) आंतरिक चयन से।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑरैकल 10 जी में, मैं लूप में उपयोगकर्ता इनपुट कैसे स्वीकार करूं?

  2. परिभाषा पैरामीटर के रूप में Oracle varchar2 का अनिवार्य आकार क्यों है?

  3. एसक्यूएल - अधूरा संयोजन

  4. कैसे जांचें कि कर्सर ऑरैकल में कोई रिकॉर्ड देता है या नहीं?

  5. Oracle.ManagedDataAccess कनेक्शन स्ट्रिंग में उपनाम का समाधान नहीं कर रहा है