У меня большая БД (много миллионов строк), и я пытаюсь сделать лучший выбор для типов данных для 2 полей. Почти все, что я сделал, varchar или INT. Тем не менее, 2 поля мне интересно, если Enum лучший способ.
Поле 1
Первое поле - пол, мои данные в настоящее время либо «мужской», либо «женский», или это может быть
пустой. Я изначально настроил это так:
GENDER VARCHAR(6) NOT NULL
Это лучший способ, или лучше установить его как:
GENDER ENUM ('Male', 'Female') NOT NULL
И нужно ли мне сделать так, чтобы значение NOT NULL учитывало пробел, или мне нужно добавить пробел, т.е.
GENDER ENUM ('Male', 'Female', '') NOT NULL
Не говоря уже о том, что я рассматриваю возможность преобразования всего поля в просто M или F.
Поле 2:
У меня есть почти то же самое, за исключением поля состояния, которое может включать 52 значения (50 состояний, DC, плюс пробел).
Полагаю, самый большой вопрос - стоит ли весь этот материал Enum того? В моей базе данных много миллионов строк, так что все является фактором, но я должен просто использовать VARCHAR (2) для состояний вместо ENUM.