2011-02-16 12 views
5

यदि मेरे पास (ए, बी) पर एक समग्र सूचकांक है, तो मैं समझता हूं कि केवल 'ए' से संबंधित प्रश्नों का उपयोग समग्र सूचकांक (लेकिन 'बी' से संबंधित प्रश्नों का उपयोग नहीं करेगा)क्या MySQL मिश्रित अनुक्रमणिका कुछ अन्य अनुक्रमणिका पूरी तरह से अनावश्यक बनाते हैं?

मेरा प्रश्न यह है कि क्या वहां है यदि मेरे पास (ए, बी) इंडेक्स है तो 'ए' पर सिंगल-कॉलम इंडेक्स रखने का कोई वैध कारण है? जो मैंने पढ़ा है, वह अस्पष्ट प्रतीत होता है कि (ए, बी) इंडेक्स एक पूर्ण विकल्प था, या केवल "कुछ भी बेहतर नहीं" सूचकांक था।

यह मानता है कि मैं एक और ए, दोनों द्वारा फ़िल्टरिंग करता हूं। मेरे पास एक बहुत सी इंडेक्स के साथ एक टेबल है जो लेखन प्रदर्शन को चोट पहुंचा रही है और इंडेक्स को छोड़ने से पहले दोबारा जांच करना चाहता हूं कि मैं केवल इतना निश्चित कर रहा हूं कि कोई अच्छा काम नहीं कर रहा है।

साथ ही, क्या यह जवाब इस बात पर निर्भर करता है कि मैं इनो डीबी या माईसाम का उपयोग कर रहा हूं या नहीं? संबंधित तालिका MyISAM है, लेकिन हमारी अधिकांश टेबल InnoDb हैं।

उत्तर

2

मेरा सवाल यह है कि अगर मेरे पास (ए, बी) इंडेक्स है तो 'ए' पर सिंगल-कॉलम इंडेक्स रखने का कोई वैध कारण है या नहीं?

नहीं, पर एक सूचकांक के लिए कोई कारण नहीं है (क) आप पर कोई है तो (क, ख)

4

आपका (क, ख) सूचकांक भी प्रश्नों केवल शामिल संभाल लेंगे 'एक' और अकेले (ए) पर एक सूचकांक की कोई आवश्यकता नहीं है।

the documentation से:

तालिका एक बहु-स्तंभ सूचकांक है, तो सूचकांक के किसी भी वाम-पंथी उपसर्ग पंक्तियों को खोजने के लिए अनुकूलक द्वारा उपयोग किया जा सकता है।

उदाहरण के लिए, यदि आप पर (col1, col2, col3) एक तीन स्तंभ अनुक्रमणिका है, तो आप खोज (col1), (col1, col2), और (col1, col2 पर क्षमताओं अनुक्रमित है, col3)।

संबंधित मुद्दे