मैंने अपनी धीमी क्वेरी समस्या हल की। समस्या को संक्षेप में प्रस्तुत करने के लिए, 20mln पंक्ति, 1.7GB अनुक्रमित तालिका से 7000 पंक्तियों को क्वेरी करने में 22sec का समय लग रहा था। समस्या यह थी कि कैश बहुत छोटा था और प्रत्येक क्वेरी के लिए क्वेरी को डिस्क पर जाना पड़ता था। मुझे लगता है कि मैं जो देख रहा था उससे डिस्क का उपयोग तेज होगा क्योंकि मैं एक अनुक्रमित कॉलम से बाहर जा रहा था इसलिए डिस्क से पढ़ने वाले डेटा की मात्रा छोटी होनी चाहिए थी। लेकिन मुझे लगता है कि डिस्क पर इनो डीबी स्टोरेज तक पहुंचने के साथ बहुत अधिक ओवरहेड है।
एक बार जब मैं innodb_buffer_pool_size=1024M
. सेट कर दूं my.ini फ़ाइल में, प्रारंभिक क्वेरी में लंबा समय लगेगा, लेकिन बाद की सभी क्वेरीज़ एक सेकंड के भीतर समाप्त हो जाएंगी।
दुर्भाग्य से, प्रोफाइलिंग ने वास्तव में मदद नहीं की।