एक सूचकांक क्या है?
एक सूचकांक डेटाबेस में एक या एक से अधिक स्तंभों से निर्मित एक कुंजी है जो तालिका या दृश्य से पंक्तियों को गति देता है। यह कुंजी Oracle, SQL सर्वर, MySQL इत्यादि जैसे डेटाबेस को मुख्य मानों से जुड़ी पंक्ति को जल्दी खोजने में मदद करती है।
दो प्रकार के सूचकांक हैं:
- गुच्छेदार सूचकांक
- गैर-संकुल सूचकांक
इस ट्यूटोरियल में, आप सीखेंगे:
- एक सूचकांक क्या है?
- एक क्लस्टर सूचकांक क्या है?
- गैर-संकुलित सूचकांक क्या है?
- क्लस्टर सूचकांक की विशेषता
- गैर-संकुलित सूचकांक के लक्षण
- गुच्छित सूचकांक का एक उदाहरण
- गैर-संकुल सूचकांक का एक उदाहरण
- Clustered Index और NonClustered Index के बीच अंतर
- गुच्छेदार सूचकांक के लाभ
- गैर-संकुल सूचकांक के लाभ
- क्लस्टर इंडेक्स का नुकसान
- गैर-संकुल सूचकांक का नुकसान
एक क्लस्टर सूचकांक क्या है?
क्लस्टर इंडेक्स एक प्रकार का इंडेक्स है, जो अपने प्रमुख मूल्यों पर तालिका में डेटा पंक्तियों को क्रमबद्ध करता है। डेटाबेस में, प्रति तालिका केवल एक संकुल सूचकांक है।
एक संकुल सूचकांक उस क्रम को परिभाषित करता है जिसमें डेटा तालिका में संग्रहीत किया जाता है जिसे केवल एक ही तरीके से सॉर्ट किया जा सकता है। तो, हर तालिका के लिए केवल एक एकल संकुल सूची हो सकती है। RDBMS में, आमतौर पर, प्राथमिक कुंजी आपको उस विशिष्ट कॉलम के आधार पर क्लस्टर इंडेक्स बनाने की अनुमति देती है।
गैर-संकुलित सूचकांक क्या है?
गैर-संकुल सूचकांक एक स्थान पर डेटा संग्रहीत करता है और किसी अन्य स्थान पर सूचकांक। सूचकांक में उस डेटा के स्थान के संकेत होते हैं। एक एकल तालिका में कई गैर-संकुल सूचकांक हो सकते हैं क्योंकि गैर-संकुल सूचकांक में एक सूचकांक अलग-अलग स्थानों पर संग्रहीत होता है।
उदाहरण के लिए, एक पुस्तक में एक से अधिक सूचकांक हो सकते हैं, एक शुरुआत में जो एक पुस्तक इकाई की सामग्री को प्रदर्शित करता है जबकि दूसरा सूचकांक वर्णमाला क्रम में शब्दों के सूचकांक को दर्शाता है।
एक गैर-क्लस्टरिंग इंडेक्स तालिका के गैर-ऑर्डरिंग फ़ील्ड में परिभाषित किया गया है। इस प्रकार की अनुक्रमण विधि उन कुंजियों के प्रदर्शन को बेहतर बनाने में आपकी सहायता करती है, जो उन कुंजियों का उपयोग करती हैं जिन्हें प्राथमिक कुंजी के रूप में असाइन नहीं किया गया है। एक गैर-संकुल सूचकांक आपको एक तालिका के लिए एक अद्वितीय कुंजी जोड़ने की अनुमति देता है।
कुंजी प्रसार
- क्लस्टर इंडेक्स एक प्रकार का इंडेक्स होता है जो टेबल पर मौजूद डेटा पंक्तियों को उनके प्रमुख मूल्यों पर क्रमबद्ध करता है जबकि गैर-क्लस्टर इंडेक्स डेटा को एक स्थान पर और दूसरे स्थान पर सूचकांक को संग्रहीत करता है।
- क्लस्टर किए गए इंडेक्स डेटा पेजों को इंडेक्स के लीफ नोड्स में संग्रहीत करते हैं जबकि गैर-क्लस्टर इंडेक्स विधि कभी भी इंडेक्स के लीफ नोड्स में डेटा पेजों को स्टोर नहीं करती है।
- क्लस्टर इंडेक्स को अतिरिक्त डिस्क स्थान की आवश्यकता नहीं होती है जबकि गैर-क्लस्टर इंडेक्स को अतिरिक्त डिस्क स्थान की आवश्यकता होती है।
- क्लस्टर इंडेक्स तेजी से डेटा एक्सेस करने की पेशकश करता है, दूसरी ओर, गैर-क्लस्टर इंडेक्स धीमा है।
क्लस्टर सूचकांक की विशेषता
- डिफ़ॉल्ट और सॉर्ट किए गए डेटा संग्रहण
- एक इंडेक्स के लिए सिर्फ एक या एक से अधिक कॉलम का उपयोग करें
- डेटा और इंडेक्स को एक साथ संग्रहीत करने में आपकी सहायता करता है
- विखंडन
- संचालन
- गुच्छित सूचकांक स्कैन और सूचकांक की तलाश
- मुख्य लुकअप
गैर-संकुलित सूचकांक के लक्षण
- केवल प्रमुख मूल्यों को संग्रहीत करें
- सूचक को ढेर / संकुल सूचकांक पंक्तियों के लिए
- माध्यमिक डेटा का उपयोग करने की अनुमति देता है
- डेटा के लिए पुल
- इंडेक्स स्कैन और इंडेक्स सीक के संचालन
- आप तालिका या दृश्य के लिए एक गैर-अनुक्रमित सूचकांक बना सकते हैं
- गैर-अनुक्रमित अनुक्रमणिका में प्रत्येक अनुक्रमणिका पंक्ति गैर-संकुलित कुंजी मान और पंक्ति लोकेटर संग्रहीत करती है
गुच्छित सूचकांक का एक उदाहरण
नीचे दिए गए उदाहरण में, SalesOrderDetailID क्लस्टर इंडेक्स है। डेटा पुनः प्राप्त करने के लिए नमूना क्वेरी
SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6
गैर-संकुल सूचकांक का एक उदाहरण
नीचे दिए गए उदाहरण में, एक गैर-संकुल सूचकांक ऑर्डरक्यूटी और प्रोडडीआईडी पर निम्नानुसार बनाया गया है
CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)
निम्न क्वेरी को क्लस्टर इंडेक्स की तुलना में तेज़ी से पुनर्प्राप्त किया जाएगा।
SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714
Clustered Index और NonClustered Index के बीच अंतर
मापदंडों | क्लस्टर किया गया | गैर-क्लस्टर |
---|---|---|
के लिए उपयोग | आप ऑर्डर के अनुसार रिकॉर्ड और स्टोर किए गए इंडेक्स को भौतिक रूप से मेमोरी में सॉर्ट कर सकते हैं। | एक गैर-संकुल सूचकांक आपको डेटा पंक्तियों के लिए एक तार्किक क्रम बनाने में मदद करता है और भौतिक डेटा फ़ाइलों के लिए पॉइंटर्स का उपयोग करता है। |
भंडारण विधि | आपको इंडेक्स के लीफ नोड्स में डेटा पेज स्टोर करने की अनुमति देता है। | यह अनुक्रमण विधि कभी भी अनुक्रमणिका के पत्ती नोड्स में डेटा पृष्ठों को संग्रहीत नहीं करती है। |
आकार | क्लस्टर इंडेक्स का आकार काफी बड़ा है। | गुच्छित सूचकांक की तुलना में गैर-संकुल सूचकांक का आकार छोटा होता है। |
डेटा एक्सेस करना | और तेज | क्लस्टर इंडेक्स की तुलना में धीमी |
अतिरिक्त डिस्क स्थान | आवश्यक नहीं | इंडेक्स को अलग से स्टोर करना आवश्यक है |
कुंजी का प्रकार | तालिका की डिफ़ॉल्ट प्राथमिक कुंजी एक संकुल सूचकांक है। | यह मेज पर अद्वितीय बाधा के साथ इस्तेमाल किया जा सकता है जो एक समग्र कुंजी के रूप में कार्य करता है। |
मुख्य विशेषता | एक संकुल सूचकांक डेटा पुनर्प्राप्ति के प्रदर्शन में सुधार कर सकता है। | यह उन स्तंभों पर बनाया जाना चाहिए जो कि जोड़ में उपयोग किए जाते हैं। |
गुच्छेदार सूचकांक के लाभ
संकुल सूचकांक के लाभ / लाभ हैं:
- क्लस्टर इंडेक्स अधिकतम, न्यूनतम, गिनती प्रकार प्रश्नों के साथ रेंज या समूह के लिए एक आदर्श विकल्प है
- इस प्रकार के सूचकांक में, एक खोज सीधे डेटा में एक विशिष्ट बिंदु तक जा सकती है ताकि आप वहां से क्रमिक रूप से पढ़ते रहें।
- किसी श्रेणी के प्रारंभ में अनुक्रमणिका प्रविष्टि का पता लगाने के लिए क्लस्टर इंडेक्स विधि स्थान तंत्र का उपयोग करती है।
- जब खोज कुंजी मानों की एक श्रृंखला का अनुरोध किया जाता है, तो यह रेंज खोजों के लिए एक प्रभावी तरीका है।
- पेज ट्रांसफर को कम करने और कैश हिट को अधिकतम करने में आपकी मदद करता है।
गैर-संकुल सूचकांक के लाभ
गैर-संकुल सूचकांक का उपयोग करने के नियम हैं:
- एक गैर-क्लस्टरिंग सूचकांक आपको डेटाबेस तालिका से डेटा को जल्दी से पुनर्प्राप्त करने में मदद करता है।
- क्लस्टर इंडेक्स से जुड़े ओवरहेड लागत से बचने में आपकी मदद करता है
- RDBMS में एक तालिका में कई गैर-संकुल सूचकांक हो सकते हैं। तो, इसका उपयोग एक से अधिक सूचकांक बनाने के लिए किया जा सकता है।
क्लस्टर इंडेक्स का नुकसान
यहां, क्लस्टर इंडेक्स का उपयोग करने के विपक्ष / कमियां हैं:
- गैर-अनुक्रमिक क्रम में आवेषण के बहुत सारे
- एक संकुल सूचकांक निरंतर पृष्ठ विभाजन के बहुत सारे बनाता है, जिसमें डेटा पृष्ठ के साथ-साथ सूचकांक पृष्ठ भी शामिल होते हैं।
- आवेषण, अद्यतन और हटाने के लिए SQL के लिए अतिरिक्त कार्य।
- क्लस्टर किए गए इंडेक्स में फ़ील्ड्स को बदलने पर रिकॉर्ड्स को अपडेट करने के लिए क्लस्टर किए गए इंडेक्स में अधिक समय लगता है।
- लीफ नोड्स में क्लस्टर किए गए इंडेक्स में डेटा पेज होते हैं।
गैर-संकुल सूचकांक का नुकसान
यहां, गैर-संकुल सूचकांक का उपयोग करने के विपक्ष / कमियां हैं:
- एक गैर-क्लस्टर इंडेक्स आपको तार्किक क्रम में डेटा स्टोर करने में मदद करता है लेकिन शारीरिक रूप से डेटा पंक्तियों को सॉर्ट करने की अनुमति नहीं देता है।
- गैर-संकुल सूचकांक पर लुकअप प्रक्रिया महंगी हो जाती है।
- जब भी क्लस्टरिंग कुंजी को अपडेट किया जाता है, तब गैर-क्लस्टर किए गए अनुक्रमणिका पर संबंधित अद्यतन आवश्यक होता है क्योंकि यह क्लस्टरिंग कुंजी को संग्रहीत करता है।