वैसे आप शायद इंडेक्स के बारे में किताबें भर सकते हैं लेकिन संक्षेप में इंडेक्स बनाते समय कुछ बातों पर ध्यान देना चाहिए:
हालांकि यह (ज्यादातर) एक चयन को गति देता है, यह इन्सर्ट, अपडेट और डिलीट को धीमा कर देता है क्योंकि डेटाबेस इंजन को केवल डेटा ही नहीं, बल्कि इंडेक्स को भी लिखना होता है। एक इंडेक्स को हार्ड डिस्क पर स्थान की आवश्यकता होती है (और बहुत अधिक महत्वपूर्ण) रैम में। एक इंडेक्स जिसे रैम में नहीं रखा जा सकता है वह बहुत बेकार है। केवल कुछ अलग-अलग मानों वाले कॉलम पर एक इंडेक्स तेजी से नहीं बढ़ता है, क्योंकि यह अधिक पंक्तियों को सॉर्ट नहीं कर सकता है (उदाहरण के लिए एक कॉलम "लिंग", जो आमतौर पर केवल दो अलग-अलग मान हैं - पुरुष, महिला)।
यदि आप उदाहरण के लिए MySQL का उपयोग करते हैं, तो आप जांच कर सकते हैं, यदि इंजन चयन से पहले "समझाएं" जोड़कर एक इंडेक्स का उपयोग करता है - आपके उपरोक्त उदाहरण के लिए EXPLAIN SELECT TestField FROM Example WHERE username=XXXX