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

क्या Oracle में कोई अनुक्रमणिका संकुलित या अव्यवस्थित है?

डिफ़ॉल्ट रूप से Oracle में सभी अनुक्रमणिकाएँ असंबद्ध हैं। Oracle में केवल क्लस्टर इंडेक्स इंडेक्स-ऑर्गनाइज्ड टेबल (IOT) प्राइमरी की इंडेक्स हैं।

IOT_TYPE . को देखकर आप यह निर्धारित कर सकते हैं कि तालिका IOT है या नहीं ALL_TABLES में कॉलम देखें (इसकी प्राथमिक कुंजी ALL_CONSTRAINTS को क्वेरी करके निर्धारित की जा सकती है और ALL_CONS_COLUMNS दृश्य)।

यहां कुछ कारण दिए गए हैं कि क्यों आपकी क्वेरी आदेशित पंक्तियों को वापस कर सकती है:

  1. आपकी तालिका अनुक्रमणिका-संगठित और FIELD . है इसकी प्राथमिक कुंजी का प्रमुख भाग है।
  2. आपकी तालिका ढेर-व्यवस्थित है लेकिन पंक्तियों को FIELD द्वारा क्रमित किया गया है , यह कभी-कभी बढ़ते पहचान कॉलम पर होता है।

केस 2 केवल संयोग से क्रमबद्ध पंक्तियों को लौटाएगा। इंसर्ट्स के ऑर्डर की गारंटी नहीं है, इसके अलावा Oracle पुराने ब्लॉक्स का पुन:उपयोग करने के लिए स्वतंत्र है यदि भविष्य में कुछ के पास उपलब्ध स्थान होता है, जिससे नाजुक ऑर्डरिंग बाधित होती है।

केस 1 ज्यादातर समय ऑर्डर की गई पंक्तियों को लौटाएगा, हालांकि आपको इस पर भरोसा नहीं करना चाहिए क्योंकि लौटाई गई पंक्तियों का क्रम एक्सेस पथ के एल्गोरिदम पर निर्भर करता है जो भविष्य में बदल सकता है (या यदि आप डीबी पैरामीटर बदलते हैं, विशेष रूप से समांतरता )।

दोनों ही मामलों में यदि आप ऑर्डर की गई पंक्तियाँ चाहते हैं तो आपको क्लॉज़ द्वारा ऑर्डर देना चाहिए:

SELECT field 
  FROM (SELECT field 
          FROM TABLE 
         ORDER BY field) 
 WHERE rownum <= 100;


  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. पीएल/एसक्यूएल का उपयोग करके पीडीएफ रिपोर्ट कैसे बनाएं

  3. SQL सर्वर Oracle में बल्क कलेक्ट के समतुल्य

  4. हम 15 मिनट का समय अंतराल कैसे प्राप्त कर सकते हैं

  5. मैं Oracle BLOB फ़ील्ड से फ़ाइलें कैसे निकाल सकता हूँ?