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

क्लॉज के बीच जुड़ने के लिए कनवर्ट करना

आपने रेंज स्कैन और between के बारे में क्या सुना है MySQL में बस सच नहीं है। यहां दस्तावेज़ीकरण का एक उद्धरण दिया गया है :

तो, एक सूचकांक का उपयोग आश्चर्यजनक नहीं है। इस डेटा के लिए सबसे अच्छी अनुक्रमणिका start, end . पर एक संयुक्त अनुक्रमणिका होगी ।

आपकी समस्या यह है कि आपके पास दो कॉलम हैं start और end . यह क्वेरी को थोड़ा और जटिल बना देता है।

निम्नलिखित कुछ परिस्थितियों में start . पर एक इंडेक्स के साथ बेहतर प्रदर्शन कर सकते हैं और end . पर एक अलग अनुक्रमणिका और पंक्तियों पर प्राथमिक कुंजी:

select gt.*
from (SELECT * FROM autumn4.ip WHERE :number >= start) gt join 
     (SELECT * FROM autumn4.ip WHERE :number <= end) lt
     on gt.PRIMARYKEY = lt.PRIMARYKEY;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या एक इन्सर्ट ऑपरेशन एक और डीडीएल ऑपरेशन प्रतीक्षा कर सकता है?

  2. INSTR () Oracle में फ़ंक्शन

  3. उत्परिवर्तित, ट्रिगर/फ़ंक्शन इसे नहीं देख सकता है- ट्रिगर के निष्पादन के दौरान त्रुटि

  4. SQLRecoverableException:I/O अपवाद:कनेक्शन रीसेट

  5. ORACLE - ORA-01843:मान्य माह नहीं है