यह मूल रूप से उबलता है यदि आकार एन के 10 इंडेक्स आकार एन * 10 के एक इंडेक्स से अधिक कुशल हैं। यदि आप पूरी तरह से पढ़ते हैं तो अलग इंडेक्स हमेशा तेज होना चाहिए। संबंधित बी-ट्री वॉक एक छोटे कीसेट आदि की जांच करेंगे।
हालांकि विचार करने के लिए कुछ बिंदु हैं:
- सरणी फ़ील्ड पर अनुक्रमणिका मूल रूप से प्रत्येक सरणी तत्व को अलग से अनुक्रमित करती है। जैसे कि लुकअप ओवरहेड बी-ट्री वॉक के दौरान अधिकतम 1-2 अतिरिक्त चरण होंगे जो कि एक नगण्य प्रदर्शन हिट है। दूसरे शब्दों में, वे लगभग उतने ही तेज़ होंगे।
- 10 इंडेक्स होने का मतलब यह हो सकता है कि प्रत्येक अपडेट/इंसर्ट को अपडेट करने के लिए एक से अधिक इंडेक्स की आवश्यकता होगी (इस पर निर्भर करता है कि आपकी इंडेक्स एक फ़ील्ड साझा करती है या यदि आप एक समय में 1 से अधिक टाइमस्टैम्प अपडेट करते हैं)। यह एक महत्वपूर्ण प्रदर्शन विचार है।
- सरणी अनुक्रमणिका का उपयोग करने से अतिरिक्त टाइमस्टैम्प (उदा. टाइमस्टैम्प10) जोड़ना थोड़ा आसान हो जाता है।
- प्रति डेटाबेस (24k) आप उपयोग कर सकते हैं नामस्थानों की संख्या की एक सीमा है और प्रत्येक अनुक्रमणिका एक लेता है। यदि आप प्रति फ़ील्ड एक अलग अनुक्रमणिका बनाते हैं तो यह एक समस्या बन सकती है।
- सबसे महत्वपूर्ण बात यह है कि सरणी अनुक्रमणिका अधिक सरल है और आपके कोड और इस प्रकार रखरखाव को सरल बनाएगी। सीमित प्रदर्शन अंतर को देखते हुए मैं कहूंगा कि यह यहां एक सरणी अनुक्रमणिका के लिए जाने के लिए सबसे मजबूत प्रेरणा है।