यह वास्तुकला और कई अन्य कारकों पर निर्भर करता है।
उदाहरण के लिए, आप संग्रहित प्रक्रियाओं को छोड़कर डेटा पढ़ने/लिखने की अनुमति नहीं देते हैं। इस मामले में आप मुफ्त उपयोग "tinyint" डेटाटाइप महसूस कर सकते हैं। यदि आप प्रत्यक्ष प्रश्नों के साथ पढ़ने/लिखने की अनुमति देते हैं तो अनुचित स्थिति से बचने के लिए बाधा का उपयोग करना बेहतर होगा (यदि यूआई या बैक-एंड कोर्स की "गलत" स्थिति डाल सकता है)।
दूसरी तरफ (और यह संभव है) डेटा प्रवाह में बदलाव हो सकते हैं और शायद आपको नई स्थितियां जोड़ने की आवश्यकता होगी। इस मामले में आपको इसकी आवश्यकता होगी: 1) यदि आपके पास स्थिर डेटाटाइप है तो कुछ भी नहीं करें; 2) यदि आपके पास ENUM है तो बदलें।
तो ... मेरा जवाब है: यह आपके आवेदन और आपकी आवश्यकताओं पर निर्भर करता है।
पेफॉर्मेंस टेस्ट: http://www.mysqlperformanceblog.com/2008/01/24/enum-fields-vs-varchar-vs-int-joined-table-what-is-faster/ –
'ENUM के साथ अन्य समस्याएं हैं '। एक बात के लिए, सभी 'ENUM' कॉलम खाली स्ट्रिंग का एक विशेष "अज्ञात" मान ले सकते हैं (यदि आवश्यक हो तो 'NULL' के अतिरिक्त); इसके अलावा, यह मान किसी अमान्य मान के किसी असाइनमेंट के लिए उपयोग नहीं किया जाएगा जब तक कि एक सख्त SQL मोड उपयोग में न हो। इससे अनजान डेटाबेस असंगतता हो सकती है; भी, यदि वास्तव में 'ENUM' सूची में एक स्पष्ट खाली स्ट्रिंग मान है, तो इससे जबरदस्त भ्रम हो सकता है (क्योंकि किसी को निर्धारित करने के लिए संख्यात्मक मान का निरीक्षण करना चाहिए कि खाली स्ट्रिंग का "प्रकार" किस प्रकार संग्रहीत किया जाता है)। – eggyal
इसके अलावा, संख्यात्मक संदर्भों में संख्यात्मक मानों के अंतर्निहित रूपांतरण से काफी भ्रम पैदा हो सकता है - विशेष रूप से यदि कोई संख्या 'ENUM' मानों के रूप में संख्याओं का प्रतिनिधित्व करने वाले तारों का उपयोग करने का प्रयास करता है। मैनुअल 'ENUM' सूची' ('0', '1', '2') का एक अच्छा उदाहरण देता है: "* यदि आप' 2' स्टोर करते हैं, तो इसे इंडेक्स वैल्यू के रूप में समझा जाता है, और '1' बन जाता है ''(इंडेक्स 2 के साथ मूल्य)। यदि आप' 2 '' स्टोर करते हैं, तो यह एक गणना मूल्य से मेल खाता है, इसलिए इसे '' 2 '' के रूप में संग्रहीत किया जाता है। अगर आप '' '' स्टोर करते हैं, तो यह किसी से मेल नहीं खाता है गणना मूल्य, इसलिए इसे एक सूचकांक के रूप में माना जाता है और '2' '(सूचकांक 3 के साथ मूल्य) बन जाता है। * " – eggyal