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

ओरेकल क्वेरी को अनुकूलित करने में मदद चाहिए

यहां एक क्वेरी है जो ऊपर दिए गए दो प्रश्नों को सरलता से जोड़ती है, इसलिए सुनिश्चित करें कि आप दो तरीकों से आउटपुट की जांच और तुलना करते हैं।

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक स्पष्ट कर्सर का SQL कथन लौटाएँ

  2. cx_Oracle का उपयोग करके फ़ंक्शन को कॉल करते समय अभिव्यक्ति गलत प्रकार की होती है

  3. ओरेकल टाइप कास्टिंग

  4. Oracle - एक कॉलम को ऑटो-इन्क्रीमेंट करने के लिए मौजूदा टेबल को संशोधित करें

  5. जावा क्लास को ऑरैकल ट्रिगर से कैसे कॉल करें?