यह इस बात पर निर्भर करता है कि आप 'अच्छे' और 'बुरे' से क्या मतलब रखते हैं। मूल रूप से आपको यह महसूस करने की आवश्यकता है कि आपके द्वारा जोड़ी गई प्रत्येक अनुक्रमणिका उस कॉलम द्वारा किसी भी खोज पर प्रदर्शन में वृद्धि करेगी (इसलिए किसी व्यक्ति तालिका के 'अंतिम नाम' कॉलम में एक अनुक्रमणिका जोड़ने से उन प्रश्नों पर प्रदर्शन बढ़ जाएगा जिनमें "जहां अंतिम नाम =" है) लेकिन संपूर्ण तालिका में लेखन प्रदर्शन कम करें।
इसका कारण यह है कि जब आप किसी पंक्ति को जोड़ते या अद्यतन करते हैं, तो उसे स्वयं तालिका और प्रत्येक अनुक्रमणिका, जिसका वह सदस्य है, दोनों को जोड़ना या अद्यतन करना होगा। इसलिए यदि आपके पास एक टेबल पर पांच इंडेक्स हैं, तो प्रत्येक जोड़ को छह स्थानों पर लिखना होगा - पांच इंडेक्स और टेबल - और सबसे खराब स्थिति में एक अपडेट छह स्थानों तक छू सकता है।
इंडेक्स क्रिएशन एक बैलेंसिंग एक्ट है फिर क्वेरी स्पीड और राइट स्पीड के बीच। कुछ मामलों में, जैसे कि डेटामार्ट जो रात भर की नौकरी में सप्ताह में केवल एक बार डेटा से भरा होता है, लेकिन रोज़ाना हज़ारों बार पूछताछ करता है, यह इंडेक्स के साथ ओवरलोड करने और जितना संभव हो सके प्रश्नों को गति देने के लिए बहुत मायने रखता है। हालांकि, ऑनलाइन लेनदेन प्रसंस्करण प्रणालियों के मामले में, आप उनके बीच संतुलन खोजने की कोशिश करना चाहते हैं।
तो संक्षेप में, उन स्तंभों में अनुक्रमणिका जोड़ें जिनका उपयोग चुनिंदा प्रश्नों में बहुत अधिक किया जाता है, लेकिन बहुत अधिक जोड़ने से बचने का प्रयास करें और इसलिए पहले सबसे अधिक उपयोग किए जाने वाले स्तंभ जोड़ें।
उसके बाद यह लोड परीक्षण की बात है कि उत्पादन परिस्थितियों में प्रदर्शन कैसे प्रतिक्रिया करता है, और एक स्वीकार्य संतुलन खोजने के लिए बहुत सारे बदलाव।