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

MySQL कम्पोजिट इंडेक्स: एकाधिक कॉलम पर इंडेक्सिंग

कम्पोजिट इंडेक्स (Composite Index) एक ऐसा इंडेक्स है जो एक साथ कई कॉलम पर बनाया जाता है। इसे मल्टी-कॉलम इंडेक्स (Multiple-Column Index) के नाम से भी जाना जाता है।

मुख्य विशेषताएं

  • MySQL आपको अधिकतम 16 कॉलम तक का कम्पोजिट इंडेक्स बनाने की अनुमति देता है।

  • क्वेरी ऑप्टिमाइज़र उन क्वेरीज़ के लिए कम्पोजिट इंडेक्स का उपयोग करता है जो इंडेक्स में शामिल सभी कॉलम को टेस्ट करती हैं।

  • यह उन क्वेरीज़ के लिए भी काम करता है जो केवल पहले कॉलम, पहले दो कॉलम, आदि को टेस्ट करती हैं (बशर्ते कॉलम इंडेक्स परिभाषा में सही क्रम में हों)।

  • यदि इंडेक्स परिभाषा में कॉलम सही क्रम में निर्दिष्ट हैं, तो एक ही कम्पोजिट इंडेक्स उसी टेबल पर कई प्रकार की क्वेरीज़ को गति दे सकता है।

कम्पोजिट इंडेक्स बनाना

टेबल बनाते समय आप INDEX कीवर्ड का उपयोग करके कम्पोजिट इंडेक्स परिभाषित कर सकते हैं:

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 स्टेटमेंट का उपयोग करें:

CREATE INDEX index_name ON table_name (c2, c3, c4);

इंडेक्स उपयोग के उदाहरण

यदि (c1, c2, c3) पर कम्पोजिट इंडेक्स है, तो निम्न कॉलम कॉम्बिनेशन इंडेक्स्ड खोज का लाभ उठा सकते हैं:

(c1)
(c1, c2)
(c1, c2, c3)

नोट: इंडेक्स का लाभ तभी मिलता है जब WHERE क्लॉज में कॉलम इंडेक्स परिभाषा के बाएं से दाएं (Leftmost Prefix) क्रम में हों।

  1. - MySQL में ALTER TABLE DROP INDEX का उपयोग करके टेबल से इंडेक्स हटाना

    MySQL में इंडेक्स हटाना: ALTER TABLE DROP INDEX MySQL टेबल से मौजूदा इंडेक्स हटाने के लिए, इंडेक्स नाम के साथ ALTER TABLE ... DROP INDEX स्टेटमेंट का उपयोग करें। उदाहरण: इंडेक्स बनाना और हटाना DESC DemoTable1469; +-------------+-------------+------+-----+---------+----------------+ | Field |

  1. - MySQL में डुप्लिकेट पंक्तियाँ खोजना (कंपोजिट की)

    कंपोजिट कॉलम पर GROUP BY HAVING से डुप्लिकेट एक से अधिक कॉलम के संयोजन (कंपोजिट की) पर डुप्लिकेट खोजने के लिए उन सभी कॉलम पर GROUP BY करें और = 2 लगाएँ। तालिका और डेटा (2019-09-10 05:00:50, AUS); क्वेरी: तिथि (दिन) और देश के संयोजन पर डुप्लिकेट ORDER BY c; परिणाम +---------------------+------

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

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