क्लस्टर इंडेक्स क्या है?


15

मुझे क्लस्टर इंडेक्स की संक्षिप्त व्याख्या की आवश्यकता है।

  • एक संकुल सूचकांक क्या है?
  • क्लस्टर किए गए सूचकांक का उपयोग करने के लिए सर्वोत्तम अभ्यास क्या हैं?

यह एक अच्छा विचार है कि नए डेटा को हमेशा टेबल के अंत में जोड़ा जाता है क्योंकि एक क्लस्टर इंडेक्स में तारीखों का उपयोग करना अच्छा होता है।
राल्फ विंटर्स

1
संभवतः, लेकिन हमेशा नहीं।
मर्देनी

@ मर्देनी - क्या आप इस बारे में विस्तार से बता सकते हैं कि ऐसा कब नहीं होगा?
राल्फ विंटर्स

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

@ मर्डेनी: यह भी अगर टेबल में कोई तारीख स्तंभ नहीं है (आपके पिछले एक सबसेट का मामला :)
ypercube12

जवाबों:


15

आसान शब्दों में...

एक टेलीफोन निर्देशिका: डेटा सूचकांक है / सूचकांक डेटा है। आपको देखने के लिए, मैं उदाहरण के लिए, रेज़ाई, अमीर के साथ शुरू करूँगा। किसी बाहरी खोज की आवश्यकता नहीं है।

डेटाबेस शर्तों में:

टेबल डेटा और क्लस्टर इंडेक्स एक ही हैं (SQL सर्वर में भी, InnoDB, Oracle IOT)

सबसे अच्छा अभ्यास संकीर्ण, संख्यात्मक, सख्ती से बढ़ रहा है (विचारशीलता या ऑटोनम्बर कॉलम)। GUID जैसे डेटा प्रकार एक अच्छा विचार नहीं है

पढ़ने के लिए लिंक (इस जवाब को ब्लोटिंग से बचने के लिए)

संपादित करें, मेरे सर्वोत्तम अभ्यास सुझावों को पूरी तरह से समझाने के लिए, एरिक हम्फ्रे की टिप्पणी में लिंक का अनुसरण करें: अनुक्रमण की रानी: किम्बरली ट्रिप


3
आप किम्बर्ली ट्रिप का ब्लॉग भी चाहते हैं: sqlskills.com/BLOGS/KIMBERLY/category/Clustered-Index.aspx
एरिक हम्फ्रे - lotahelp

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

2
@ रसेल स्टीन: 1. मैंने लिंक शामिल किए 2. ओपी को पूछना था, विचार करें कि मैंने किस स्तर पर यह जवाब दिया है 3. एरिक हम्फ्रे ने एक लिंक बनाया। हम मामले से मामले के माध्यम से जा सकते हैं जो हमें अधिक अनुभवी लोग जानते हैं और समझते हैं, लेकिन क्या हम यहां शिक्षित या अभिभूत करने में मदद करने के लिए हैं ...?
gbn

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

2
ओह, बस SQL-Serverटैग पर ध्यान नहीं दिया गया ।
ypercube y

3

डेटा पर इसका एक सूचकांक ही ऐसा है कि रिकॉर्ड भौतिक रूप से उस फ़ील्ड द्वारा सॉर्ट किए जाते हैं जिस पर आपके पास क्लस्टर इंडेक्स है। यही कारण है कि आपके पास प्रति तालिका केवल एक संकुल सूचकांक हो सकता है।

नॉन क्लस्टर्ड इंडेक्स लुक अप के लिए उतनी तेज नहीं है लेकिन एक टेबल पर इस प्रकार के कई इंडेक्स हो सकते हैं।


3
गैर-संकुलित अनुक्रमणिका केवल लुकअप के लिए कुशल हो सकती है, यदि गैर-संकुल अनुक्रमणिका प्रश्न में लुकअप के लिए कवर हो।
रसेल स्टीन

@ रसेल ऐसा कोई तरीका नहीं है जो तेज हो सकता है क्योंकि सूचकांक ने डेटा के वास्तविक क्रम को मजबूर कर दिया है। एसक्यूएल या किसी भी आरडीबीएमएस के लिए कोई सरल / तेज़ तरीका नहीं है कि इसकी जानकारी मिल जाए।
kalalapy

4
मैंने तेजी से नहीं कहा। एक कवरिंग इंडेक्स में डिस्क में एक अलग स्थान पर इंडेक्स - इन ओर्डर में चयन का अनुरोध किया गया सभी डेटा होता है। तो एक मिलान कवरिंग इंडेक्स के खिलाफ एक चयन तालिका को कभी नहीं मारता है।
रसेल स्टीन

2
एक कवरिंग NCI संभावना छोटी होगी जिसका मतलब है कि कम पृष्ठ पढ़ने और तेज़ करने के लिए।
मार्टिन स्मिथ

किसी तालिका पर केवल एक संकुल अनुक्रमणिका होने का कारण भौतिक सॉर्टिंग नहीं है, अनुक्रमणिका पृष्ठ हमेशा तार्किक रूप से सॉर्ट किए जाते हैं, और पृष्ठों के सन्निहित आवंटन की गारंटी नहीं होती है। आपके पास प्रति तालिका में केवल एक क्लस्टर सूचकांक हो सकता है क्योंकि क्लस्टर सूचकांक स्वयं तालिका है, और गैर-क्लस्टर अनुक्रमणिका आवश्यक स्तंभों के साथ तालिका की प्रतियां हैं।
मनोज पांडेय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.