इस पर निर्भर करता है कि आप क्या करने जा रहे हैं और क्वेरी क्या है।
आम तौर पर, EXPLAIN की प्रत्येक पंक्ति के लिए जिसमें Using where
. होता है , आपको इसे एक अनुक्रमणिका (possible keys
. का उपयोग करके रखना होगा और keys
कॉलम)। ये आपके फ़िल्टर हैं और इसमें WHERE और ON शामिल हैं। यह कहना Using index
और भी बेहतर है। इसका मतलब है कि एक कवरिंग इंडेक्स है, और MySQL टेबल डेटा में पंक्ति पर जाने के बजाय सीधे इंडेक्स से डेटा पुनर्प्राप्त कर सकता है।
वे पंक्तियाँ जहाँ Using where
. नहीं है , और यह लौट रहा है बड़ी संख्या में पंक्तियों को देखा जाना चाहिए। ये तालिका में सभी पंक्तियों के लिए मान लौटा रहे हैं। मुझे नहीं पता कि आपकी क्वेरी क्या है, इसलिए मुझे नहीं पता कि यहां चिंतित होना है या नहीं। आकार को कम करने और प्रदर्शन में सुधार करने के लिए परिणाम सेट को फ़िल्टर करने का प्रयास करें।
आपको आम तौर पर Using filesort
seeing देखने से बचने की कोशिश करनी चाहिए या Using temporary
, हालांकि वे केवल तभी खराब हैं जब आप उनकी अपेक्षा नहीं कर रहे हैं।
फाइलसॉर्ट आमतौर पर ORDER क्लॉज के साथ दिखाई देता है। आप आम तौर पर चाहते हैं कि MySQL एक कवरिंग इंडेक्स का उपयोग करे (Using index
) ताकि सर्वर से पंक्तियों को पहले ही वापस कर दिया जाए। यदि वे नहीं हैं, तो MySQL को उन्हें बाद में फाइलसॉर्ट का उपयोग करके ऑर्डर करना होगा।
Using temporary
खराब हो सकता है जब यह व्युत्पन्न तालिकाओं को संदर्भित करता है क्योंकि उनके पास अनुक्रमणिका नहीं होती है। ऐसा लगता है कि आपने इंडेक्स के साथ स्पष्ट रूप से एक अस्थायी तालिका बनाई है, इसलिए यहां, यह बुरा नहीं है। कभी-कभी, आपकी एकमात्र पसंद व्युत्पन्न तालिका का उपयोग करना होता है, और इसलिए Using temporary
।