यह डेटा के वितरण पर निर्भर करता है।
कल्पना कीजिए कि मेरे पास 1000 नज़दीकी टाइप पृष्ठों वाली एक किताब थी, और मेरी किताब के एकमात्र शब्द 'हाँ' और 'नहीं' बार-बार दोहराए गए और बेतरतीब ढंग से वितरित किए गए। अगर मुझे 'हां' के सभी उदाहरणों को गोल करने के लिए कहा जाता है, तो क्या किताब की मदद में एक सूचकांक होगा? निर्भर करता है।
यदि हां और ना का आधा-आधा यादृच्छिक वितरण होता है, तो सूचकांक में देखने से मदद नहीं मिलेगी। सूचकांक पुस्तक को बहुत बड़ा बना देगा, और वैसे भी मैं बस सामने से शुरू करने और प्रत्येक पृष्ठ पर 'हां' के सभी उदाहरणों की तलाश करने और उन्हें चक्कर लगाने के बजाय, प्रत्येक आइटम को देखने के बजाय जल्दी से काम करूंगा। इंडेक्स और फिर इंडेक्स प्रविष्टि से उस पेज के संदर्भ को ले रहा है जिसे वह संदर्भित करता है।
लेकिन अगर मेरे हज़ार पेज की किताब में 'हां' के सिर्फ दस उदाहरण हैं और बाकी सब सिर्फ लाखों नहीं हैं, तो एक सूचकांक मुझे 'हां' के उन दस उदाहरणों को खोजने और उन्हें चक्कर लगाने में समय की बचत करेगा ।
यह डेटाबेस में समान है। यदि यह 50:50 का वितरण है, तो एक सूचकांक मदद करने वाला नहीं है - डेटाबेस इंजन शुरू से अंत तक डेटा के माध्यम से जुताई से बेहतर है (पूर्ण टेबल स्कैन), और सूचकांक सिर्फ डेटाबेस को बड़ा करेगा, और लिखने और अद्यतन करने के लिए धीमा। लेकिन अगर यह 4000: 1 वितरण ( इस धागे में oucil के अनुसार ) की तरह कुछ है, तो एक इंडेक्स की तलाश इसे बेहद तेजी से बढ़ा सकती है, अगर यह 4000 में से 1 आइटम है जिसे आप ढूंढ रहे हैं।