У меня большая БД (много миллионов строк), и я пытаюсь сделать лучший выбор для типов данных для двух полей. Большинство всего, что я сделал 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.