आपके पास प्राथमिक कुंजी के अलावा कोई अनुक्रमणिका नहीं है। आपको अपने WHERE कथन में उपयोग किए जाने वाले फ़ील्ड पर अनुक्रमणिका बनाने की आवश्यकता है। यदि आपको केवल 1 फ़ील्ड को अनुक्रमित करने की आवश्यकता है या कई फ़ील्ड का संयोजन अन्य चयनों पर निर्भर करता है जिन्हें आप उस तालिका के विरुद्ध चला रहे होंगे।
ध्यान रखें कि REGEXP
इंडेक्स का बिल्कुल भी उपयोग नहीं कर सकते, LIKE
अनुक्रमणिका का उपयोग केवल तभी कर सकता है जब यह वाइल्डकार्ड से प्रारंभ न हो (इसलिए LIKE 'a%'
इंडेक्स का उपयोग कर सकते हैं, लेकिन LIKE '%a'
नहीं कर सकते), से बड़ा / छोटा (<>) आमतौर पर इंडेक्स का भी उपयोग नहीं करता है।
तो आपके पास code
बचा है और check
खेत। मुझे लगता है कि check
. के लिए कई पंक्तियों का मान समान होगा , इसलिए मैं code
. के साथ अनुक्रमणिका शुरू करूंगा खेत। मल्टी-फील्ड इंडेक्स का उपयोग केवल उसी क्रम में किया जा सकता है जिसमें उन्हें परिभाषित किया गया है...
फ़ील्ड के लिए बनाए गए इंडेक्स की कल्पना करें code, check
. इस अनुक्रमणिका का उपयोग आपकी क्वेरी में किया जा सकता है (जहां WHERE क्लॉज में दोनों फ़ील्ड होते हैं), वह भी केवल code
वाली क्वेरी में फ़ील्ड, लेकिन केवल check
. के साथ क्वेरी में नहीं फ़ील्ड.
क्या यह महत्वपूर्ण है कि ORDER BY id
? यदि नहीं, तो इसे छोड़ दें, यह सॉर्ट पास को रोक देगा और आपकी क्वेरी तेजी से समाप्त हो जाएगी।