है इसलिए मैंने हमेशा सोचा कि अतिरिक्त कॉलम में "कहां उपयोग करना" देखना एक अच्छी बात थी। हालांकि, मैं अपने सहकर्मियों के लिए एक भूरे रंग के बैग के दोपहर का भोजन करने की योजना बना रहा था, और अब मैं इतना निश्चित नहीं हूं। MySQL दस्तावेज़ यह कहता है कि "कहां उपयोग करना":MySQL अनुकूलन: EXPLAIN "अतिरिक्त" कॉलम में "कहां उपयोग करना"
एक WHERE क्लॉज का उपयोग अगली तालिका के विरुद्ध कौन सी पंक्तियों से मेल खाने या क्लाइंट को भेजने के लिए प्रतिबंधित किया जाता है। जब तक कि आप विशेष रूप से तालिका से सभी पंक्तियों को लाने या जांचने का इरादा नहीं रखते हैं, तो अतिरिक्त क्वेरी का उपयोग नहीं किया जा रहा है, यदि अतिरिक्त मूल्य का उपयोग नहीं किया जा रहा है और तालिका में शामिल होने का प्रकार सभी या अनुक्रमणिका है। भले ही आप WHERE क्लॉज के सभी हिस्सों के लिए एक इंडेक्स का उपयोग कर रहे हों, आप देख सकते हैं कि कॉलम नल हो सकता है या नहीं।
इस ओर जाता है मुझे उस पर विश्वास करना भी अगर मेरी कहां खंड केवल सूचकांक के कुछ हिस्सों में शामिल है, कि MySQL अभी भी पंक्तियों की जांच करेंगे स्तंभों शून्य मान हो सकते हैं यदि।
क्या यह सच है? यदि हां, तो क्या मुझे कॉलम को न्यूल शामिल नहीं करना चाहिए यदि मुझे इसकी आवश्यकता नहीं है? क्या मुझे गति वृद्धि दिखाई देगी?
मैंने अभी एक परीक्षण किया है: कॉलम को शून्य से नल तक बदलें, फिर "कहां उपयोग करें" गायब हो गया। – tomwang1013