Oracle की अनुक्रमणिका कभी भी "असंतुलित" नहीं होती:अनुक्रमणिका का प्रत्येक पत्ता किसी अन्य पत्ती की तरह ही गहराई पर होता है।
कोई भी पेज स्प्लिट अपने आप में एक नया स्तर पेश नहीं करता है:एक लीफ पेज नए पेजों के लिए पैरेंट नहीं बनता है जैसे कि यह एक गैर-सेल्फ-बैलेंसिंग ट्री पर होगा।
इसके बजाय, विभाजित पृष्ठ के लिए एक सहोदर बनाया जाता है और नया रिकॉर्ड (साथ ही संभवतः पुराने पृष्ठ के कुछ रिकॉर्ड) नए पृष्ठ पर चला जाता है। पैरेंट में नए पेज के लिए एक पॉइंटर जोड़ा जाता है।
अगर पैरेंट पेज में भी जगह नहीं है (नए बनाए गए लीफ पेज पर पॉइंटर को स्वीकार नहीं कर सकता), तो यह भी विभाजित हो जाता है, और इसी तरह।
ये विभाजन मूल पृष्ठ तक फैल सकते हैं, जिसका विभाजन ही एकमात्र ऐसी चीज है जो सूचकांक की गहराई को बढ़ाता है (और यह सभी पृष्ठों के लिए एक ही बार में करता है)।
अनुक्रमणिका पृष्ठ अतिरिक्त रूप से डबल-लिंक्ड सूचियों में व्यवस्थित होते हैं, प्रत्येक सूची अपने स्तर पर। यदि पेड़ असंतुलित होता तो यह असंभव होता।
अगर master_id स्वत:वृद्धि हुई है इसका मतलब है कि सभी विभाजन अंत में होते हैं (जैसे 90/10 कहा जाता है) स्प्लिट्स) जो सबसे सघन इंडेक्स को संभव बनाता है।
नहीं, उपरोक्त कारणों से ऐसा नहीं होगा।
अगर आप slave में शामिल होते हैं करने के लिए master अक्सर, आप एक CLUSTER बनाने पर विचार कर सकते हैं master_id . द्वारा अनुक्रमित दो तालिकाओं में से . इसका अर्थ है कि दोनों तालिकाओं के रिकॉर्ड, समान master_id . साझा कर रहे हैं , उसी या आस-पास के डेटा पेजों पर जाएं जो उनके बीच बहुत तेजी से जुड़ते हैं।
जब इंजन को master . से एक रिकॉर्ड मिला , किसी अनुक्रमणिका के साथ या जो भी हो, इसका अर्थ यह भी है कि उसे पहले ही slave . के रिकॉर्ड मिल गए हैं उस master . के साथ जुड़ने के लिए . और इसके विपरीत, slave . का पता लगाना इसका अर्थ इसके master का पता लगाना भी है ।