2012-11-18 10 views
21

में Enums मैं MongoDB संग्रह में enum मानों को स्टोर करना चाहता हूं। क्या मैं उन्हें प्रभावी रूप से तारों के रूप में स्टोर कर सकता हूं? क्या यह इंट के रूप में enum मानों की तुलना में सूचकांक प्रदर्शन को प्रभावित करेगा? क्या मोंगो इंडेक्सर इस मामले में स्ट्रिंग इंडेक्स को अनुकूलित करता है जब स्ट्रिंग मानों के रूप में केवल कुछ निश्चित विकल्प होते हैं, ताकि पूर्णांक द्वारा क्वेरीिंग इंडेक्स के समान गति प्राप्त हो सके?MongoDB

उत्तर

20

स्ट्रिंग के रूप में मोंगोडीबी में एनम मूल्यों को संग्रहीत करना बिल्कुल ठीक है, और हां, यदि आप फ़ील्ड को इंडेक्स करते हैं तो मैं उम्मीद करता हूं कि प्रदर्शन अनुक्रमित पूर्णांक क्वेरी से तुलना करने योग्य होगा। यह पूर्णांक का उपयोग करने से निश्चित रूप से अधिक अभिव्यक्तिपूर्ण है।

एकमात्र असली नकारात्मकता यह है कि यदि आपके एनम स्ट्रिंग कुछ हद तक लंबे हैं, तो वे अधिक जगह ले लेंगे, लेकिन यह एक बहुत ही छोटी चिंता है।

+1

क्या किसी ने कभी भी इस से संबंधित कोई प्रदर्शन माप किया है? स्ट्रिंग की तुलना पूर्णांक की तुलना में धीमी है। यह पूछताछ के साथ-साथ सम्मिलन और सूचकांक (पुनः) भवन को प्रभावित कर सकता है, हालांकि सूचकांक आवश्यक तुलना की संख्या को काफी कम करता है। बेंचमार्क के बिना प्रदर्शन के बारे में कभी भी कोई दावा न करें। –