विचार करने का एक और महत्वपूर्ण बिंदु यह है: एक कंपाउंड इंडेक्स (एकाधिक कॉलम से बना) केवल तभी उपयोग किया जाएगा जब एन बाएं-अधिकांश स्तंभों का संदर्भ दिया जा रहा हो (उदाहरण के लिए WHERE
में खंड)
तो यदि आपके पास
पर एक एकल यौगिक अनुक्रमणिका है
(UserID, UserName, UserEmail)
तो यह सूचकांक निम्न परिदृश्यों में इस्तेमाल किया जा सकता है:
- जब तुम अकेले
UserID
लिए खोज कर रहे (सिर्फ 1 सबसे बाईं ओर स्तंभ का उपयोग - UserID
)
- जब आप कर रहे हैं
UserID
और UserName
- (2 सबसे बाईं ओर स्तंभों का उपयोग) के लिए खोज जब आप सभी तीन स्तंभों के लिए खोज कर रहे हैं
लेकिन यह एक यौगिक सूचकांक कभी नहीं में सक्षम हो जाएगा
- सिर्फ
UserName
पर खोजों के लिए प्रयोग की जाने वाली है - यह सूचकांक में दूसरे स्तंभ है और इस तरह यह सूचकांक नहीं कभी
- सिर्फ इस्तेमाल किया जा सकता है
UserEmail
- यह सूचकांक में तीसरे स्तंभ है और इस तरह यह सूचकांक कभी
जू नहीं किया जा सकता है यह याद रखें - सिर्फ इसलिए कि एक सूचकांक में एक स्तंभ भाग है, इसका मतलब यह नहीं है कि अकेले उस एकल कॉलम पर खोज का समर्थन किया जाएगा और उस इंडेक्स द्वारा बढ़ाया जाएगा!
इसलिए यदि आपके उपयोग प्रतिमानों और आपके आवेदन वास्तव में (अन्य खोज मान प्रदान के बिना) UserName
और/या UserEmail
अकेले पर खोज करने के लिए की जरूरत है, तो आप अलग सूचकांक इन स्तंभों पर बनाना होगा - बस एक ही परिसर से एक होगा पर कोई लाभ नहीं है।
स्रोत
2012-12-26 10:12:14