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