मेरे पास एक बड़ी MyISAM तालिका है। यह 1 मिलियन पंक्तियों के करीब आ रहा है। यह मूल रूप से वस्तुओं की एक सूची और उनके बारे में कुछ जानकारी है।बनाम बराबर से अधिक क्यों MySQL SELECT में एक अंतर बनाता है?
- प्राथमिक: आइटम आईडी
- तारीख (तारीख) और col (int)
दो सूचकांक रहे हैं।
SELECT * FROM table WHERE date = '2011-02-01' AND col < 5 LIMIT 10 SELECT * FROM table WHERE date < '2011-02-01' AND col < 5 LIMIT 10
पहले एक खत्म ~ 0.0005 सेकंड में और ~ 0.05 सेकंड में दूसरा:
मैं दो प्रश्नों को चलाते हैं। यह 100 एक्स अंतर है। क्या यह मेरे लिए गलत है कि इन दोनों को लगभग एक ही गति से चलने की उम्मीद है? मुझे सूचकांक को बहुत अच्छी तरह समझना नहीं चाहिए। मैं दूसरी क्वेरी कैसे बढ़ा सकता हूं?
दोनों प्रश्नों के लिए, कितने रिकॉर्ड पहले विधेय से मेल खाते हैं? –
बराबर के लिए 40,000, कम से कम 55,000 के लिए, इसलिए यह कोई बड़ा अंतर नहीं है – burger
@bigmac इंडेक्स प्रारूप को बदलने का प्रयास करें और देखें कि क्या होता है। –