уменьшает ли кол-во памяти int(5)

R7
На сайте с 18.03.2010
Offline
78
736

Имеет ли смысл в БД Mysql указввать максимальное значение поля int(5)? Уменьшит ли это кол-во занимаемой памяти в отличии от случая, когда просто будет int?

Т.е. int(5)=int или int(5)<int (по занимаемой памяти)

grey109
На сайте с 15.06.2005
Offline
180
#1

Число в скобках - это ширина поля для отображения данных. На память не влияет, а вот использовать, если это возможно, другие типы (smallint, tinyint и т.д.) имеет смысл.

R7
На сайте с 18.03.2010
Offline
78
#2

grey109, а для типа varchar так же?

I1
На сайте с 30.07.2012
Offline
0
#3

Для varchar в скобках указывается размерность поля.

M
На сайте с 15.03.2012
Offline
128
#4
grey109:
Число в скобках - это ширина поля для отображения данных. На память не влияет, а вот использовать, если это возможно, другие типы (smallint, tinyint и т.д.) имеет смысл.

если ли разница, хранить число 1234 в int или smallint ?

grey109
На сайте с 15.06.2005
Offline
180
#5

Moltisanti, да.

int - 4 байта, smallint - 2.

http://habrahabr.ru/post/36868/ - хорошая подсказка по типам данных.

IL
На сайте с 20.04.2007
Offline
435
#6
Moltisanti:
если ли разница, хранить число 1234 в int или smallint ?

Главное не "переэкономить".. Не сразу понял, почему в одном из скриптов проблемы с id-шниками.. т.е. в php вроде рассчитывается одно значение, а в соседнем окошке при просмотре - совсем другой результат...

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
R7
На сайте с 18.03.2010
Offline
78
#7

grey109, немного не понял. Т.е. если ограничивать varchar(50) - это займет меньше памяти, чем просто varchar?

M
На сайте с 15.03.2012
Offline
128
#8
rdk72:
grey109, немного не понял. Т.е. если ограничивать varchar(50) - это займет меньше памяти, чем просто varchar?

нет, для varchar - 1 символ = 1 байт (=2 байта для unicode).. а размер поля нужен лишь для ограничения.. поправьте если не прав

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий