Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में कंपोजिट इंडेक्स का उपयोग करके धीमी क्वेरीज़ को तेज़ बनाना


आइए पहले देखें कि समग्र सूचकांक क्या है -

  • एक समग्र अनुक्रमणिका एक अनुक्रमणिका है जिसका उपयोग एकाधिक स्तंभों पर किया जाता है।

  • इसे बहु-स्तंभ अनुक्रमणिका के रूप में भी जाना जाता है।

  • 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) की तरह काम करता है, इसके अलावा टेबल स्कैन को एक महंगा काम माना जाता है।

  • तालिका स्कैन की आवश्यकता केवल तभी होती है जब किसी तालिका में पंक्तियों को खोजने के लिए नामित अनुक्रमणिका का उपयोग करने का कोई तरीका न हो।


  1. MySQL क्वेरी दर्ज करना

    कंसोल पर क्वेरी दर्ज करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि उपयोगकर्ता सर्वर से जुड़ा है। नीचे दी गई क्वेरी उपयोग किए जा रहे सर्वर की संस्करण संख्या और वर्तमान तिथि बताएगी। SELECT VERSION(), CURRENT_DATE; नोट: फ़ंक्शन VERSION () और CURRENT_DATE केस-असंवेदनशील हैं। इसका अर्थ है संस्करण ()

  1. MySQL में उपयोगकर्ता-परिभाषित चर का उपयोग करना

    आइए समझें कि उपयोगकर्ता चर क्या हैं और उनका उपयोग MySQL में कैसे किया जा सकता है। हम नियम भी देखेंगे - उपयोगकर्ता चर @var_name के रूप में लिखे गए हैं। यहाँ, var_name चर नाम को संदर्भित करता है, जिसमें अक्षरांकीय वर्ण, ., _, और $ होते हैं। एक उपयोगकर्ता चर नाम में अन्य वर्ण हो सकते हैं यदि उन्ह

  1. MySQL कम्पोजिट इंडेक्स

    एक समग्र अनुक्रमणिका एक अनुक्रमणिका है जिसका उपयोग एकाधिक स्तंभों पर किया जाता है। इसे बहु-स्तंभ अनुक्रमणिका के रूप में भी जाना जाता है। सुविधाएं आइए देखते हैं फीचर्स - MySQL उपयोगकर्ता को एक समग्र अनुक्रमणिका बनाने की अनुमति देता है जिसमें अधिकतम 16 कॉलम हो सकते हैं। क्वेरी ऑप्टिमाइज़र प्रश्