Забыли пароль?
Запросите новый здесь.

Автор темы: grungestranger
ID темы: 1771
Информация:
Тема содержит 4 сообщения, была просмотрена 1205 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » MySQL
 Распечатать тему
В чем разница?
grungestranger
Привет всем. Всегда интересовал вопрос: есть какая-либо разница при задании типа поля, например - mediumint(3) и int(3)? Зачем вообще нужны все эти tinyint, smallint, mediumint, ведь можно писать int(1), int(2), int(3)... Понимаю, что у всех этих типов разные диапазоны значений, но особого смысла в них не вижу.
 
Web
Rush
во первых разные диапазоны. к примеру в int(11) ты не вставишь число 12345678910, максимум 2147483647. т.е. тип приоритетней чем длина в скобках.
потом, мускул резервирует память под данные в зависимости от типа http://phpclub.ru...ments.html, и при большом обьеме данных это играет роль в производительности, т.к. при запросе данные грузятся в память. к примеру у тя поле INT(10), а ты хранишь в нем ключ 1/0, то при миллионе записей тебе потребуется 1000000*8байт, а если укажешь TINYINT - соответственно в 8 раз меньше.
x1
 
Web
grungestranger
Я знал про память, но думал, что память отводится в зависимости от длины значения, а не просто от типа.
 
Web
Rush
для строковых да, для числовых нет. читай ссылку
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,172)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)