हां, आपके पास यहां जो कुछ है वह डेटाबेस किलर है
<ब्लॉकक्वॉट>एक बी-ट्री इंडेक्स का उपयोग उन अभिव्यक्तियों में कॉलम तुलना के लिए किया जा सकता है जो =,>,>=, <, <=, या ऑपरेटरों के बीच का उपयोग करते हैं। अनुक्रमणिका का उपयोग LIKE तुलनाओं के लिए भी किया जा सकता है यदि LIKE का तर्क एक स्थिर स्ट्रिंग है जो वाइल्डकार्ड वर्ण से प्रारंभ नहीं होता है।
स्रोत:http://dev.mysql.com /doc/refman/5.7/hi/index-btree-hash.html
तो इसका मतलब है कि आपकी LIKE क्वेरी अनुक्रमणिका का उपयोग नहीं कर सकती है और फिर आपके पास OR से जुड़ी दो पसंद हैं। यदि यह पर्याप्त नहीं है, तो आपने NOT IN तुलना भी की है।
लेकिन सौभाग्य से, दूसरा LIKE एक्सप्रेशन इतना बुरा नहीं है, यह वाइल्डकार्ड से शुरू नहीं होता है। तो आपकी सबसे अच्छी उम्मीद है कि usage_guidance, name
. पर एक कंपोजिट इंडेक्स बनाया जाए
यदि आप अपना शो बनाएं तालिका और नमूना डेटा की कुछ पंक्तियाँ + अपेक्षित आउटपुट पोस्ट कर सकते हैं, तो हमें एक विचार मिल सकता है कि क्या इस क्वेरी को फिर से लिखने का कोई तरीका है।