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