@suhuxa1

Почему не используют enum при проектировании БД проекта?

Добрый день!
Я всегда проектировал БД с использованием enum. Весьма полезная вещь в полях, где несколько вариантов. Например: забанен ли? 1 или 0. Админ ли? 1 или 0. И так далее. Но который урок для развития смотрю, везде для таких вещей задают integer. Правильно ли это? Зачем выделять столько памяти, если будет 2 значения? До меня это никак не доходит.
  • Вопрос задан
  • 170 просмотров
Решения вопроса 2
BojackHorseman
@BojackHorseman
...в творческом отпуске...
потому что если классификатор нужно будет расширить вы будете делать alter на продакшене под нагрузкой, а это очень сомнительное удовольствие даже с плагинами
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Моя практика показала, что большинство enum в конце концов становятся референсной таблицей )

Ну разве что исключая совсем уж "внутренние" сущности.

Ну и во многих ЯП enum маппится на int
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@RidgeA
Говорю за MySQL - enum все-равно использует 1 или 2 байта, в зависимости от количества вариантов. Так что ничего не мешает завести поле tinyint и хранить значение там - объем занимаемых данных будет такой же.

UPD:
enum под капотом - числа c соответствием набору строк.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
22 июля 2018, в 20:41
10000 руб./за проект
22 июля 2018, в 20:13
2000 руб./за проект