बी-ट्री को त्यागने वाली तालिका से सीधे डेटा तक पहुंचना संभव क्यों नहीं है? (सबसे अधिक संभावना है कि पंक्ति द्वारा तालिका पंक्ति को स्कैन करके) दुर्गम डेटा की तुलना में अधिक उपयुक्त नहीं होगा?
अपने प्रश्न का उत्तर देने के लिए, अनुक्रमण मूल बातें अधिक उपयोगी होती हैं - एक अनुक्रमणिका पृष्ठों (इंडेक्स नोड्स) के एक सेट से बनी होती है जो कि बी-ट्री संरचना में व्यवस्थित होती हैं। यह संरचना प्रकृति में पदानुक्रम है, पदानुक्रम के शीर्ष पर रूट नोड और तल पर पत्ती नोड्स है। अधिक जानकारी के लिए यहां देखें ।
साथ ही, जैसा कि बहुत से लोगों ने वर्णन किया है, Clustered Indexes == मूल तालिकाएँ जिन्हें भौतिक रूप से एक या अधिक कुंजियों या स्तंभों के साथ क्रमबद्ध किया गया है। इसलिए, जब एक क्लस्टर इंडेक्स को अक्षम किया जाता है, तो इसकी डेटा पंक्तियों तक नहीं पहुंचा जा सकता है। आप किसी भी डेटा को सम्मिलित करने में सक्षम नहीं होंगे (नॉन क्लस्टर्ड इंडेक्स के लिए इंसर्ट सफल होगा - लेकिन यह पूरी तरह से इस पोस्ट से संबंधित नहीं है - जैसा कि यहां चर्चा क्लस्टर्ड इंडेक्स की है) या तो न ही पुनर्गठन कार्य करेगा।
नीचे आपको विस्तार से समझाएंगे:
CLUSTERED Index को निष्क्रिय करने के प्रभाव को देखने के लिए हम Adventureworks डेटाबेस का उपयोग करेंगे ।
अब तालिका में पंक्ति गणना जांचें:
अब Clustered Index को Disable कर दें
अब तालिका से पंक्ति गणना का चयन करें। इस बार यह नीचे संदेश के साथ त्रुटि करेगा:
यहां तक कि पुनर्गठन कार्य भी नहीं करता है !!
अब Clustered Index का पुनर्निर्माण करें और इसे ठीक काम करना चाहिए।
यह देखने के लिए कि क्या हम डेटा तक पहुँच सकते हैं, तालिका का चयन करें
तो लब्बोलुआब यह है कि, यदि हम क्लस्टर इंडेक्स को अक्षम करते हैं, तो तालिका में डेटा अभी भी मौजूद है, लेकिन ड्रॉप या आरईबीयूडीएल संचालन के अलावा अन्य किसी भी चीज के लिए सुलभ नहीं होगा। सभी संबंधित गैर-क्लस्टर किए गए अनुक्रमणिका और दृश्य अनुपलब्ध होने के साथ-साथ तालिका को संदर्भित करने वाली विदेशी कुंजियों को अक्षम कर दिया जाएगा और वहां तालिका को संदर्भित करने वाले सभी प्रश्नों के लिए विफलता का नेतृत्व किया जाएगा।
नोट: सूचकांक को सक्षम करने का कोई विकल्प नहीं है। आपको इसे REBUILD करना होगा।