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