"डेटाबेस इंडेक्स" एक विशेष प्रकार की डेटा संरचना को संदर्भित करता है जो डेटाबेस तालिका से रिकॉर्ड प्राप्त करने में तेजी लाता है। डेटाबेस इंडेक्स यह सुनिश्चित करते हैं कि हर बार डेटाबेस क्वेरी संसाधित होने पर आप प्रत्येक पंक्ति को खोजे बिना कुशलतापूर्वक डेटाबेस तालिका में डेटा का पता लगा सकते हैं और एक्सेस कर सकते हैं।

एक डेटाबेस इंडेक्स की तुलना किसी पुस्तक के इंडेक्स से की जा सकती है। डेटाबेस में सूचकांक आपको उस रिकॉर्ड की ओर इंगित करते हैं जिसे आप डेटाबेस में खोज रहे हैं, ठीक उसी तरह जैसे किसी पुस्तक का अनुक्रमणिका पृष्ठ आपको आपके इच्छित विषय या अध्याय की ओर इंगित करता है।

हालाँकि, डेटाबेस इंडेक्स त्वरित और कुशल डेटा लुकअप और एक्सेस के लिए आवश्यक हैं, लेकिन वे अतिरिक्त राइट और मेमोरी स्पेस लेते हैं।

एक सूचकांक क्या है?

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

instagram viewer

डेटाबेस इंडेक्सिंग का उपयोग क्यों करें?

मैं आपको यहां डेटाबेस इंडेक्स को सरल तरीके से दिखाने जा रहा हूं। मान लें कि आपके पास एक कंपनी में काम करने वाले आठ कर्मचारियों की एक डेटाबेस तालिका है, और आप तालिका की अंतिम प्रविष्टि के लिए जानकारी खोजना चाहते हैं। अब, पिछली प्रविष्टि को खोजने के लिए, आपको डेटाबेस की प्रत्येक पंक्ति को खोजना होगा।

हालांकि, मान लें कि आपने कर्मचारियों के पहले नाम के आधार पर तालिका को वर्णानुक्रम में क्रमबद्ध किया है। तो, यहाँ अनुक्रमण कुंजियाँ “नाम स्तंभ” पर आधारित हैं। उस स्थिति में, यदि आप अंतिम प्रविष्टि खोजते हैं, "जैक”, आप टेबल के बीच में जा सकते हैं और तय कर सकते हैं कि हमारी प्रविष्टि कॉलम के पहले या बाद में आती है।

जैसा कि आप जानते हैं, यह मध्य पंक्ति के बाद आएगा, और आप फिर से मध्य पंक्ति के बाद की पंक्तियों को आधे में विभाजित कर सकते हैं और एक समान तुलना कर सकते हैं। इस तरह, आपको अंतिम प्रविष्टि खोजने के लिए प्रत्येक पंक्ति को पार करने की आवश्यकता नहीं है।

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

सम्बंधित: 13 सबसे महत्वपूर्ण SQL कमांड किसी भी प्रोग्रामर को पता होना चाहिए

डेटाबेस इंडेक्स के लिए विभिन्न फ़ाइल संगठन के तरीके

अनुक्रमण बहुत हद तक प्रयुक्त फ़ाइल संगठन तंत्र पर निर्भर करता है। आमतौर पर, डेटा स्टोर करने के लिए डेटाबेस इंडेक्सिंग में दो प्रकार की फ़ाइल संगठन विधियों का उपयोग किया जाता है। उनकी चर्चा नीचे की गई है:

1. आदेशित अनुक्रमणिका फ़ाइल: यह इंडेक्स डेटा को स्टोर करने का पारंपरिक तरीका है। इस पद्धति में, प्रमुख मानों को एक विशेष क्रम में क्रमबद्ध किया जाता है। एक आदेशित अनुक्रमणिका फ़ाइल में डेटा दो तरीकों से संग्रहीत किया जा सकता है।

  • विरल सूचकांक: इस प्रकार के अनुक्रमण में, प्रत्येक रिकॉर्ड के लिए एक अनुक्रमणिका प्रविष्टि बनाई जाती है।
  • सघन सूचकांक: सघन अनुक्रमण में, कुछ अभिलेखों के लिए एक अनुक्रमणिका प्रविष्टि बनाई जाती है। इस पद्धति में एक रिकॉर्ड खोजने के लिए, आपको सबसे पहले उन इंडेक्स प्रविष्टियों से सबसे महत्वपूर्ण खोज कुंजी मान ढूंढना होगा जो आपके द्वारा खोजे जा रहे खोज कुंजी मान से कम या उसके बराबर हों।

2. हैश फ़ाइल संगठन: इस फ़ाइल संगठन पद्धति में, एक हैश फ़ंक्शन उस स्थान या डिस्क ब्लॉक को निर्धारित करता है जहां एक रिकॉर्ड संग्रहीत किया जाता है।

डेटाबेस इंडेक्सिंग के प्रकार

आमतौर पर डेटाबेस इंडेक्सिंग की तीन विधियाँ होती हैं। वो हैं:

  • संकुल अनुक्रमण
  • गैर-संकुल अनुक्रमण
  • बहु-स्तरीय अनुक्रमण

1. संकुल अनुक्रमण

संकुल अनुक्रमण में, एक एकल फ़ाइल दो से अधिक डेटा रिकॉर्ड संग्रहीत कर सकती है। सिस्टम वास्तविक डेटा को पॉइंटर्स के बजाय क्लस्टर्ड इंडेक्सिंग में रखता है। क्लस्टर्ड इंडेक्सिंग के साथ खोज लागत-कुशल है क्योंकि यह सभी संबंधित डेटा को एक ही स्थान पर संग्रहीत करता है।

क्लस्टरिंग इंडेक्स स्वयं को परिभाषित करने के लिए ऑर्डर की गई डेटा फ़ाइलों का उपयोग करता है। साथ ही, इस प्रकार के अनुक्रमण के साथ कई डेटाबेस तालिकाओं में शामिल होना बहुत आम है।

गैर-प्राथमिक स्तंभों के आधार पर एक अनुक्रमणिका बनाना भी संभव है जो प्रत्येक कुंजी के लिए अद्वितीय नहीं हैं। ऐसे मौकों पर, यह क्लस्टर इंडेक्स के लिए अद्वितीय कुंजी मान बनाने के लिए कई कॉलमों को जोड़ती है।

तो, संक्षेप में, क्लस्टरिंग इंडेक्स वे होते हैं जहां समान डेटा प्रकारों को समूहीकृत किया जाता है और उनके लिए इंडेक्स बनाए जाते हैं।

उदाहरण: मान लीजिए कि एक कंपनी है जिसके 10 अलग-अलग विभागों में 1,000 से अधिक कर्मचारी हैं। इस मामले में, कंपनी को अपने डीबीएमएस में एक ही विभाग में काम करने वाले कर्मचारियों को अनुक्रमित करने के लिए क्लस्टरिंग इंडेक्सिंग बनाना चाहिए।

एक ही विभाग में काम करने वाले कर्मचारियों के साथ प्रत्येक क्लस्टर को एक क्लस्टर के रूप में परिभाषित किया जाएगा, और इंडेक्स में डेटा पॉइंटर्स क्लस्टर को पूरी इकाई के रूप में संदर्भित करेंगे।

सम्बंधित: SQL डेटाबेस में विदेशी कुंजी क्या हैं?

2. गैर-संकुल अनुक्रमण

गैर-संकुल अनुक्रमण एक प्रकार के अनुक्रमण को संदर्भित करता है जहां अनुक्रमणिका पंक्तियों का क्रम वैसा नहीं होता है जैसा कि मूल डेटा को भौतिक रूप से संग्रहीत किया जाता है। इसके बजाय, एक गैर-संकुल सूचकांक डेटाबेस में डेटा संग्रहण को इंगित करता है।

उदाहरण: गैर-संकुल अनुक्रमणिका उस पुस्तक के समान है जिसमें एक आदेशित सामग्री पृष्ठ होता है। यहां, डेटा पॉइंटर या संदर्भ आदेशित सामग्री पृष्ठ है जिसे वर्णानुक्रम में क्रमबद्ध किया गया है, और वास्तविक डेटा पुस्तक के पृष्ठों की जानकारी है। सामग्री पृष्ठ पुस्तक के पृष्ठों पर उनके क्रम में जानकारी संग्रहीत नहीं करता है।

3. बहु-स्तरीय अनुक्रमण

बहु-स्तरीय अनुक्रमण का उपयोग तब किया जाता है जब सूचकांकों की संख्या बहुत अधिक होती है, और यह प्राथमिक सूचकांक को मुख्य मेमोरी में संग्रहीत नहीं कर सकता है। जैसा कि आप जानते हैं, डेटाबेस इंडेक्स में सर्च की और डेटा पॉइंटर्स होते हैं। जब डेटाबेस का आकार बढ़ता है, तो सूचकांकों की संख्या भी बढ़ती है।

हालांकि, त्वरित खोज अभियान सुनिश्चित करने के लिए, अनुक्रमणिका रिकॉर्ड को स्मृति में रखने की आवश्यकता होती है। यदि अनुक्रमणिका संख्या अधिक होने पर एकल-स्तरीय अनुक्रमणिका का उपयोग किया जाता है, तो इसके आकार और एकाधिक पहुँच के कारण उस अनुक्रमणिका को स्मृति में संग्रहीत करने की संभावना नहीं है।

यह वह जगह है जहाँ बहु-स्तरीय अनुक्रमणिका चलन में आती है। यह तकनीक सिंगल-लेवल इंडेक्स को कई छोटे ब्लॉकों में तोड़ती है। टूटने के बाद, बाहरी स्तर का ब्लॉक इतना छोटा हो जाता है कि इसे आसानी से मुख्य मेमोरी में संग्रहीत किया जा सकता है।

सम्बंधित: जावा के साथ एक MySQL डेटाबेस से कैसे कनेक्ट करें

SQL इंडेक्स फ़्रेग्मेंटेशन क्या है?

जब अनुक्रमणिका पृष्ठों का कोई क्रम डेटा फ़ाइल में भौतिक क्रम से मेल नहीं खाता है, तो SQL अनुक्रमणिका विखंडन का कारण बनता है। प्रारंभ में, सभी SQL इंडेक्स फ़्रेग्मेंटेशन-मुक्त रहते हैं, लेकिन जैसा कि आप डेटाबेस का बार-बार उपयोग करते हैं (डेटा डालें/हटाएं/बदलें), यह विखंडन का कारण बन सकता है।

डेटाबेस विखंडन के अलावा, आपका डेटाबेस डेटाबेस भ्रष्टाचार जैसे अन्य महत्वपूर्ण मुद्दों का भी सामना कर सकता है। यह खोए हुए डेटा और एक क्षतिग्रस्त वेबसाइट को जन्म दे सकता है। यदि आप अपनी वेबसाइट के साथ व्यापार कर रहे हैं, तो यह आपके लिए एक घातक आघात हो सकता है।

ईमेल
SQL सर्वर डेटा दूषित हो गया? SQL रिकवरी टूलबॉक्स के साथ इसे पुनर्प्राप्त करने का प्रयास करें

SQL सर्वर के लिए रिकवरी टूलबॉक्स सभी संस्करणों के लिए MS SQL सर्वर की दूषित MDF फ़ाइलों को ठीक करने में मदद करता है।

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • एसक्यूएल
  • डेटा विश्लेषण
  • डेटाबेस
लेखक के बारे में
जाहिद ए. पॉवेल (१२ लेख प्रकाशित)

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

से अधिक पॉवेल

हमारे न्यूज़लेटर की सदस्यता

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

एक और क़दम…!

कृपया उस ईमेल में अपने ईमेल पते की पुष्टि करें जिसे हमने अभी आपको भेजा है।

.