यदि अनुक्रमणिका का ठीक से उपयोग किया जाता है, तो यह लगभग हमेशा अधिक कुशल . होता है जॉइन का उपयोग करने के लिए। जोर दिया जाता है क्योंकि सर्वोत्तम दक्षता हमेशा सर्वोत्तम प्रदर्शन के बराबर नहीं होती है।
हालांकि, वास्तव में सभी उत्तरों के लिए एक आकार-फिट नहीं है; आपको EXPLAIN
. का उपयोग करके किसी क्वेरी का विश्लेषण करना चाहिए यह सुनिश्चित करने के लिए कि अनुक्रमणिका का वास्तव में उपयोग किया जा रहा है, कि कोई अनावश्यक अस्थायी तालिका का उपयोग नहीं है, आदि। कुछ मामलों में , शर्तें एक ऐसी क्वेरी बनाने की साजिश रचती हैं जो बस नहीं अनुक्रमणिका का उपयोग करें। उन मामलों में, यह हो सकता है आपके द्वारा बताए गए तरीके से प्रश्नों को टुकड़ों में विभाजित करने के लिए तेज़ हो जाएं।
अगर मुझे किसी मौजूदा प्रोजेक्ट में इस तरह के कोड का सामना करना पड़ा, तो मैं इस पर सवाल उठाऊंगा:क्वेरी की जांच करें, क्वेरी को करने के विभिन्न तरीकों के बारे में सोचें, सुनिश्चित करें कि इन चीजों पर विचार किया गया है, अभ्यास के लिए या इसके खिलाफ एक वैज्ञानिक, तथ्य-समर्थित मामला बनाएं। . सुनिश्चित करें कि मूल डेवलपर्स ने अपना उचित परिश्रम किया, क्योंकि जॉइन का उपयोग सतही रूप से खराब डेटाबेस या क्वेरी डिज़ाइन को इंगित नहीं करता है। अंत में, हालांकि, परिणाम जोर से बोलते हैं और यदि सभी अनुकूलन और सुधार अभी भी क्वेरी अंशों का उपयोग करने की तुलना में धीमी गति से जुड़ते हैं, तो तेज़ समाधान प्रबल होता है। बेंचमार्क के परिणामों पर बेंचमार्क और कार्य; सॉफ़्टवेयर डिज़ाइन में ऐसा कोई मामला नहीं है कि आपको क्या करना चाहिए या क्या नहीं करना चाहिए, इसके बारे में मनमाने नियमों के आसंजन के लिए आपको खराब प्रदर्शन का व्यापार करना चाहिए। सबसे अच्छा प्रदर्शन करने वाला तरीका सबसे अच्छा तरीका है।