टी-एसक्यूएल - इंडेक्स
Indexesविशेष खोज तालिकाएँ हैं जो डेटाबेस खोज इंजन डेटा पुनर्प्राप्ति को गति देने के लिए उपयोग कर सकते हैं। सीधे शब्दों में कहें, एindexएक तालिका में डेटा के लिए एक सूचक है। एक डेटाबेस में एक इंडेक्स एक किताब के अंत में एक इंडेक्स के समान है।
उदाहरण के लिए, यदि आप किसी विषय पर चर्चा करने वाली पुस्तक के सभी पृष्ठों को संदर्भित करना चाहते हैं, तो आप पहले सूचकांक का उल्लेख करते हैं, जो सभी विषयों को वर्णानुक्रम में सूचीबद्ध करता है और फिर एक या अधिक विशिष्ट पृष्ठ संख्याओं के लिए संदर्भित किया जाता है।
एक इंडेक्स सेलेक्टेड क्वेश्चन और जहां क्लॉस होता है, को गति देने में मदद करता है, लेकिन यह डेटा इनपुट को धीमा कर देता है, जिसमें अपडेट और इनसर्ट स्टेटमेंट होते हैं। इंडेक्स डेटा पर कोई प्रभाव नहीं बनाया या गिराया जा सकता है।
एक इंडेक्स बनाने में क्रिएट इंडेक्स स्टेटमेंट शामिल होता है, जो आपको इंडेक्स नाम देने की अनुमति देता है, तालिका को निर्दिष्ट करने के लिए और कौन सा कॉलम या कॉलम इंडेक्स करने के लिए, और यह इंगित करने के लिए कि इंडेक्स आरोही या अवरोही क्रम में है या नहीं।
सूचकांक अद्वितीय भी हो सकता है, UNIQUE बाधा के समान, इसमें सूचकांक कॉलम में डुप्लिकेट प्रविष्टियों या स्तंभों के संयोजन को रोकता है जिस पर एक सूचकांक है।
सृजन सूचकांक कमान
निम्नलिखित क्रिएट इंडेक्स का मूल सिंटैक्स है।
वाक्य - विन्यास
CREATE INDEX index_name ON table_name
एकल-स्तंभ अनुक्रमणिका
एकल-स्तंभ अनुक्रमणिका वह है जो केवल एक तालिका स्तंभ के आधार पर बनाई गई है। निम्नलिखित मूल सिंटैक्स है।
वाक्य - विन्यास
CREATE INDEX index_name
ON table_name (column_name)
उदाहरण
CREATE INDEX singlecolumnindex
ON customers (ID)
अनोखा सूचकांक
यूनीक इंडेक्स का उपयोग न केवल प्रदर्शन के लिए किया जाता है, बल्कि डेटा अखंडता के लिए भी किया जाता है। एक अद्वितीय सूचकांक किसी भी डुप्लिकेट मानों को तालिका में सम्मिलित करने की अनुमति नहीं देता है। निम्नलिखित मूल सिंटैक्स है।
वाक्य - विन्यास
CREATE UNIQUE INDEX index_name
on table_name (column_name)
उदाहरण
CREATE UNIQUE INDEX uniqueindex
on customers (NAME)
समग्र सूचकांक
एक संयुक्त सूचकांक एक तालिका के दो या अधिक स्तंभों पर एक सूचकांक है। निम्नलिखित मूल सिंटैक्स है।
वाक्य - विन्यास
CREATE INDEX index_name on table_name (column1, column2)
उदाहरण
CREATE INDEX compositeindex
on customers (NAME, ID)
चाहे सिंगल-कॉलम इंडेक्स या कंपोजिट इंडेक्स बनाएं, कॉलम (एस) को ध्यान में रखें जो कि आप किसी क्वेरी के WHERE क्लॉज में फ़िल्टर शर्तों के रूप में बहुत बार उपयोग कर सकते हैं।
क्या केवल एक कॉलम का उपयोग किया जाना चाहिए, एकल-कॉलम इंडेक्स का विकल्प होना चाहिए। क्या दो या दो से अधिक कॉलम होने चाहिए, जिन्हें अक्सर फिल्टर के रूप में WHERE क्लॉज में उपयोग किया जाता है, कम्पोजिट इंडेक्स सबसे अच्छा विकल्प होगा।
निहित सूचकांक
इंप्लिकेट इंडेक्स इंडेक्स होते हैं जो किसी ऑब्जेक्ट के बनने पर डेटाबेस सर्वर द्वारा स्वचालित रूप से बनाए जाते हैं। प्राथमिक प्रमुख बाधाओं और अद्वितीय बाधाओं के लिए इंडेक्स स्वचालित रूप से बनाए जाते हैं।
DROP INDEX कमांड
MS SQL SERVER DROP कमांड का उपयोग करके एक इंडेक्स को छोड़ा जा सकता है। इंडेक्स ड्रॉप करते समय ध्यान रखा जाना चाहिए क्योंकि प्रदर्शन धीमा या बेहतर हो सकता है।
वाक्य - विन्यास
निम्नलिखित मूल सिंटैक्स है।
DROP INDEX tablename.index_name
सूचकांक से कब बचें?
हालाँकि, अनुक्रमित डेटाबेस के प्रदर्शन को बढ़ाने के उद्देश्य से होते हैं, लेकिन कई बार ऐसे समय होते हैं जब उन्हें टाला जाना चाहिए। सूचकांक के उपयोग पर पुनर्विचार किया जाना चाहिए, जब निम्नलिखित दिशा-निर्देश इंगित करते हैं -
इंडेक्स का उपयोग छोटी तालिकाओं पर नहीं किया जाना चाहिए।
जिन टेबलों में बार-बार, बड़े बैच अपडेट या इंसर्ट ऑपरेशन होते हैं, उन्हें अनुक्रमित नहीं किया जाना चाहिए।
उन स्तंभों पर अनुक्रमणिका का उपयोग नहीं किया जाना चाहिए जिनमें अधिक संख्या में NULL मान हैं।
जिन कॉलमों में अक्सर हेरफेर किया जाता है, उन्हें अनुक्रमित नहीं किया जाना चाहिए।