Просмотр темы
В чем разница?
|
|
grungestranger |
Опубликовано 13.09.2013 11:39
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Привет всем. Всегда интересовал вопрос: есть какая-либо разница при задании типа поля, например - mediumint(3) и int(3)? Зачем вообще нужны все эти tinyint, smallint, mediumint, ведь можно писать int(1), int(2), int(3)... Понимаю, что у всех этих типов разные диапазоны значений, но особого смысла в них не вижу. |
|
|
Rush |
Опубликовано 13.09.2013 12:50
|
![]() Администратор ![]() Разработчики ![]() Группа поддержки ![]() Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
во первых разные диапазоны. к примеру в int(11) ты не вставишь число 12345678910, максимум 2147483647. т.е. тип приоритетней чем длина в скобках. потом, мускул резервирует память под данные в зависимости от типа http://phpclub.ru...ments.html, и при большом обьеме данных это играет роль в производительности, т.к. при запросе данные грузятся в память. к примеру у тя поле INT(10), а ты хранишь в нем ключ 1/0, то при миллионе записей тебе потребуется 1000000*8байт, а если укажешь TINYINT - соответственно в 8 раз меньше. |
|
|
grungestranger |
Опубликовано 13.09.2013 14:05
|
![]() Пользователь ![]() Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Я знал про память, но думал, что память отводится в зависимости от длины значения, а не просто от типа. |
|
|
Rush |
Опубликовано 13.09.2013 14:39
|
![]() Администратор ![]() Разработчики ![]() Группа поддержки ![]() Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
для строковых да, для числовых нет. читай ссылку
|
|
Поделиться этой темой | |
Социальные закладки: |
![]() ![]() ![]() ![]() ![]() ![]() |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |