Какой тип поля? - PullRequest
       4

Какой тип поля?

0 голосов
/ 15 июля 2010

Я знаю, может быть, это глупый вопрос, но я сосу на sql

Но какой тип поля вы должны иметь в поле, которое может иметь только цифры от 1 до 5? 5 - это максимум, а 1 - это минимум. В настоящее время int(11) not unsigned

Я слышал, что неправильный тип может повредить производительности

Редактировать: база данных InnoDB. СУБД MySQL

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

В зависимости от вашей СУБД используйте целое число, которое может содержать небольшое значение.

MySQL имеет тип данных tinyint , который имеет размер 1 байт и содержит значения 0От -255 или -128 до 127.

В MySQL, по-видимому, не реализованы проверочные ограничения в текущей версии, поэтому вам придется либо самим выполнить требование диапазона 1-5,другой код.Есть несколько предложений по написанию триггера для реализации этой бизнес-логики.

Вы правы в отношении производительности типа данных, но в этом случае это вряд ли применимо.Считайте это микрооптимизацией, но все же стоит подумать.

0 голосов
/ 15 июля 2010

Какая платформа базы данных?

Как правило, я выбираю наименьшее и добавляю проверочное ограничение для хорошей оценки качества / целостности данных.

Для SQL Server это будет tinyint (0-255).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...