Подтвердить что ты не робот

Enum ('yes', 'no') vs tinyint - какой из них использовать?

Какова наилучшая практика для полей, которые содержат истинные/ложные значения?

Такие столбцы могут быть определены как перечисление ( "да", "нет" ) или как tinyint (1). Лучше/быстрее другого?

Лучше ли использовать enum ('1', '0') против enum ('yes', 'no') (т.е. записывает ли он 'yes' или 'no' как строку в каждую строку так, размер хранилища базы данных становится больше)?

4b9b3361

Ответ 1

Кроме того, ENUM является нестандартным расширением MySql. Вы должны избегать этого, особенно если вы можете достичь тех же результатов стандартным способом.

Ответ 2

избегать перечисления из этого причины

Суть в том, что ENUM имеет свои но следует использовать экономно. Модель должна обеспечивать соблюдение ограничений, а не базы данных; модель должна обрабатывать интерпретацию сырья данных в полезную информацию для вашего а не базы данных.

Ответ 3

BOOLEAN существует по какой-то причине. Это действительно TINYINT(1), но поскольку он там, это должен быть рекомендуемый способ.