मैं कॉलम को "लिंग" कहूंगा।
Data Type Bytes Taken Number/Range of Values
------------------------------------------------
TinyINT 1 255 (zero to 255)
INT 4 - 2,147,483,648 to 2,147,483,647
BIT 1 (2 if 9+ columns) 2 (0 and 1)
CHAR(1) 1 26 if case insensitive, 52 otherwise
बीआईटी डेटा प्रकार की संभावना से इनकार किया जा सकता है क्योंकि यह केवल दो संभव लिंगों जो अपर्याप्त है समर्थन करता है। जबकि INT दो से अधिक विकल्पों का समर्थन करता है, यह 4 बाइट्स लेता है - एक छोटे / अधिक संकीर्ण डेटा प्रकार के साथ प्रदर्शन बेहतर होगा।
CHAR(1)
TinyINT पर बढ़त है - दोनों समान संख्या में बाइट्स लेते हैं, लेकिन CHAR मानों की अधिक संकीर्ण संख्या प्रदान करता है। उपयोग CHAR(1)
करने से "m", "f", आदि प्राकृतिक कुंजियों का उपयोग होता है, जो कि संख्यात्मक डेटा का उपयोग बनाम जिसे सरोगेट (कृत्रिम कुंजी) कहा जाता है। CHAR(1)
किसी भी डेटाबेस पर भी समर्थित है, क्या पोर्ट की आवश्यकता होनी चाहिए।
निष्कर्ष
मैं विकल्प 2: CHAR (1) का उपयोग करूंगा।
परिशिष्ट
लिंग स्तंभ पर एक अनुक्रमणिका संभवत: मदद नहीं करेगी क्योंकि कम हृदय स्तंभ पर एक सूचकांक में कोई मूल्य नहीं है। मतलब, किसी भी मूल्य को प्रदान करने के लिए सूचकांक के मूल्यों में पर्याप्त विविधता नहीं है।