dilikpulatov
@dilikpulatov
веб-программист

PostgrSQL — Какой тип данных лучше использовать для статусов, типы объекта и т.д?

Часто использую кастомные типы для статусов и т.д
CREATE TYPE order_status AS ENUM ('new', 'open', 'closed');

Не давно знакомы программисты предлагали использовать TINYINT для таких полей.
Я не так часто меняю такие списки. Поэтому для меня достаточно кастомные типы.
Но после того как предлагали лучше использовать TINYINT я начал искать в гугл плюсы и минусы эти типы.
Пока толком ничего не нашел. Где-то говорят типы ENUM это зло. но ENUM тип в MySQL есть. А в PostgrSQL это просто кастомные типы.
Важно чтобы потом проблема в производительность не было. Для меня важен скорость CRUD запросов.
В чем разница между этих типов? Какие плюсы и минусы есть?
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Вкусовщина.
Ответ написан
Комментировать
@Vitsliputsli
В чем разница между этих типов? Какие плюсы и минусы есть?

По факту у вас enum, и тогда вопрос как его хранить, как enum или как число, будет звучать: где реализовывать enum в коде или в БД. Реализация в коде позволит валидировать этот enum на уровне приложения без дополнительных запросов к БД, в противном случае все это ложится на СУБД. В остальном разницы нет.
Т.к. БД всегда узкое место, то я бы реализовал это в коде, но есть адепты считающие, что все нужно пихать в БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы