आइए पहले देखें कि समग्र सूचकांक क्या है -
-
एक समग्र अनुक्रमणिका एक अनुक्रमणिका है जिसका उपयोग एकाधिक स्तंभों पर किया जाता है।
-
इसे बहु-स्तंभ अनुक्रमणिका के रूप में भी जाना जाता है।
-
MySQL उपयोगकर्ता को एक समग्र अनुक्रमणिका बनाने की अनुमति देता है जिसमें अधिकतम 16 कॉलम हो सकते हैं।
-
क्वेरी ऑप्टिमाइज़र प्रश्नों के लिए समग्र अनुक्रमणिका का उपयोग करता है जो अनुक्रमणिका के सभी स्तंभों का परीक्षण करेगा।
-
इसका उपयोग उन प्रश्नों के लिए भी किया जा सकता है जो पहले कॉलम, पहले दो कॉलम आदि का परीक्षण करेंगे।
-
यदि अनुक्रमणिका परिभाषा में स्तंभों को सही क्रम में निर्दिष्ट किया गया है, तो एक एकल मिश्रित अनुक्रमणिका का उपयोग किया जा सकता है जो एक ही तालिका पर कुछ प्रकार के प्रश्नों को गति देगा।
आइए देखें कि तालिका के निर्माण के दौरान एक समग्र सूचकांक कैसे बनाया जा सकता है। यह नीचे दिए गए कथन का उपयोग करके किया जा सकता है -
क्वेरी
CREATE TABLE table_name ( c1 data_type PRIMARY KEY, c2 data_type, c3 data_type, c4 data_type, INDEX index_name (c2,c3,c4) );
उपरोक्त कथन में, समग्र सूचकांक में तीन कॉलम c2, c3 और c4 होते हैं।
'क्रिएट इंडेक्स' स्टेटमेंट का इस्तेमाल करके मौजूदा टेबल में कंपोजिट इंडेक्स को भी जोड़ा जा सकता है। आइए देखें कि यह कैसे किया जा सकता है -
क्वेरी
CREATE INDEX index_name ON table_name(c2,c3,c4);
आइए देखें कि कंपोजिट इंडेक्स का उपयोग करके स्लोक क्वेरी को कैसे तेजी से बनाया जा सकता है -
-
क्वेरी निष्पादन की गति उसकी अवधि पर निर्भर करती है।
-
अनुक्रमणिका संकेतों का उपयोग करने से क्वेरी की गति बढ़ जाएगी।
-
इंडेक्स चुनते समय सही निर्णय लेने के लिए MySQL ऑप्टिमाइज़र का उपयोग किया जा सकता है।
-
लेकिन यह केवल स्थिर प्रश्नों पर ही किया जाना चाहिए।
-
यदि 'WHERE' क्लॉज में परिवर्तन होने पर प्रश्नों को जोड़ा जाता है, तो प्रश्नों का प्रदर्शन खराब हो जाएगा, क्योंकि यह अनुकूलक को अपना काम नहीं करने देगा।
-
'फोर्स इंडेक्स' स्टेटमेंट 'USE INDEX (index_list) की तरह काम करता है, इसके अलावा टेबल स्कैन को एक महंगा काम माना जाता है।
-
तालिका स्कैन की आवश्यकता केवल तभी होती है जब किसी तालिका में पंक्तियों को खोजने के लिए नामित अनुक्रमणिका का उपयोग करने का कोई तरीका न हो।