गुच्छेदार सूचकांक की तलाश और गैर-संकुल सूचकांक के बीच अंतर


10

Clustered Index (CI) चाहने वाले और Non Clustered Index (NCI) चाहने में क्या अंतर है? क्या एक दूसरे से बेहतर प्रदर्शन करता है?

मैं यह इसलिए पूछ रहा हूं क्योंकि मेरे पास 50 मिलियन पंक्तियों और 150 स्तंभों वाली एक तालिका है। इसका एक स्तंभ है जिसे नामित IDसूचकांक के रूप में परिभाषित किया गया है। एक ही सूचकांक कुंजी आईडी और सात- includeडी कॉलम के साथ उस पर एक और NCI है । मुझे ऐसा लगता है कि NC इंडेक्स यहां एक डुप्लिकेट है और इसे सुरक्षित रूप से छोड़ा जा सकता है।

इसलिए मैं कुछ विशेषज्ञ विचार / सलाह चाहता हूं कि क्या इसे सुरक्षित रूप से गिराया जा सकता है या इसे बरकरार रखना चाहिए?


क्या आप कह रहे हैं कि सभी कॉलम किसी भी संकुल सूचकांक में शामिल नहीं हैं?
इयान रिंगरोज

नहीं। तालिका में 150 स्तंभ हैं, जिसमें आईडी स्तंभ सीआई के रूप में परिभाषित किया गया है और इसमें एनसीआई सूचकांक है, जिसमें फिर से आईडी स्तंभ के रूप में सूचकांक कुंजी और 7 और कॉलम शामिल हैं।
SQLPRODDBA

तब लगता है कि पॉल व्हाइट ने सही जवाब दिया है, हालांकि मैं सवाल करता हूं कि क्या आपको "बेस" टेबल को एक क्लस्टर्ड टेबल से ढेर तक बदलना चाहिए। या यहां तक ​​कि अलग-अलग कॉलम को कितनी बार अपडेट किया जाता है, इसके आधार पर टेबल को विभाजित करें, ताकि लेनदेन लॉगिंग की लागत कम हो सके।
इयान रिंगरोज

जवाबों:


26

एक गैर-अनुक्रमित अनुक्रमणिका जिसमें कुंजी (s) * गुच्छित अनुक्रमणिका के रूप में है, अभी भी उपयोगी हो सकती है, क्योंकि गैर-अनुक्रमित अनुक्रमणिका आमतौर पर छोटी और सघन होगी। याद रखें, क्लस्टर किए गए इंडेक्स में सभी इन-रो डेटा शामिल होते हैं, इसलिए यह आम तौर पर संभव सबसे चौड़ा (कम से कम घना) इंडेक्स है।

* एक ही कुंजी कॉलम, एक ही क्रम में, उसी तरह (asc / desc) क्रमबद्ध।

एक सिंगलटन की तलाश के लिए (एक अद्वितीय सूचकांक में एक समानता का उपयोग करने वाला एक साधक), मुख्य अंतर यह है कि इंडेक्स पेज (ओं) की अधिक संभावना है कि उस एकल रिकॉर्ड को पहले से ही स्मृति में पाया जा सके। सभी चीजें एक समान होने के कारण, 100 पृष्ठों वाले एक गैर-अनुक्रमित सूचकांक में 10,000 पृष्ठों पर संग्रहीत क्लस्टर सूचकांक की तुलना में बेहतर मौका है।

एक सिंगलटन को छोड़कर किसी अन्य प्रकार की तलाश के लिए, एक स्कैनिंग घटक भी होगा। स्कैनिंग भाग को गैर-अनुक्रमित सूचकांक (प्रति पृष्ठ अधिक पंक्तियों) के अधिक घनत्व से भी लाभ होगा। भले ही पेज लगातार स्टोरेज से आते हों, लेकिन कम पेज पढ़ना ज्यादा तेज है।

आपको सिस्टम प्रलेखन की जांच करनी चाहिए, उस व्यक्ति से पूछें जिसने सूचकांक को जोड़ा है, और / या कोड टिप्पणियों की तलाश में है कि यह सूचकांक क्यों मौजूद है। आपको संपीड़न सहित संपूर्ण सूचकांक परिभाषाओं को सावधानीपूर्वक जांचने की आवश्यकता है , और सूचकांक रखरखाव लिपियों को देखें। गैर-अनुक्रमित सूचकांक (उदाहरण के लिए ऑनलाइन पुनर्निर्माण की क्षमता) होने के अन्य विशेष कारण हो सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.