वहाँ डेटाबेस में enum प्रकार स्टोर करने के लिए दो तरीके हैं।इसके लायक पूर्णांकों में कनवर्ट डेटाबेस स्ट्रिंग enums है? एक स्ट्रिंग के रूप में या एक पूर्णांक के रूप में:
गणना को सहेजना (sex = {male,female}
, account_type = {regular,pro,admin}
, आदि) क्योंकि स्ट्रिंग चीजों को और अधिक पठनीय बनाती है लेकिन पूर्णांक की तुलना में अधिक जगह की आवश्यकता होती है।
दूसरी ओर, पूर्णांक को डेटाबेस में और बाहर enums मैपिंग की आवश्यकता होती है। लाभ के रूप में, डेटाबेस के बाहर पूर्णांक वाले केस-सेंसिटीविटी को संभाला जाता है।
मान लीजिए कि दोनों अनुक्रमित हैं, आम तौर पर इसके पूर्णांक रूपांतरण को कर रहे हैं? पूर्णांक के साथ लुकअप कितनी तेजी से है?
उदाहरण
शायद एक ठोस उदाहरण बातें कल्पना करने के लिए मदद कर सकता है। 100,000 उपयोगकर्ताओं का एक डाटाबेस के साथ ऊपर ACCOUNT_TYPE लेते हैं।
स्ट्रिंग enum
मान लिया जाये कि 8-बिट निश्चित लंबाई CHAR प्रकार
7*100000*8/8 = 700000 bytes
पूर्णांक enum
मान लिया जाये कि 8-बिट TINYINT पूर्णांकों
100000*8/8 = 400000 bytes
लगता है आकार की तरह पूर्णांक enums के साथ लगभग आधा है। इंडेक्स को समेकित करने की भी आवश्यकता है।