कम्पोजिट इंडेक्स (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) क्रम में हों।