MySQL: bigint Vs int
Я использую int (10) и просто заметил, что Wordpress использует bigint (20). Чем отличается использование bigint (20) и int (10) для автоматического увеличения id? Какой из них следует использовать для столбца id?
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
Vs
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
Спасибо.
Ответы
Ответ 1
Разница заключается только в максимальном значении, которое может быть сохранено (18,446,744,073,709,551,615 для bigint (20) и 4,294,967,295 для int (10), я считаю), в соответствии с деталями MySQL Числовые типы.
Кстати, использование (20) и (10) в значительной степени не имеет значения, если вы не используете ZEROFILL. (то есть: он фактически не изменяет размер сохраненного числа - все это относится к типу.)
Однако в практическом плане следует отметить, что вы вряд ли ударите любой из этих ограничений в ближайшее время, если только вы не являетесь активным блоггером действительно.
Ответ 2
Единственное различие - это диапазон типа. INT
- 32-разрядный, а BIGINT
- 64-разрядный, поэтому он может хранить гораздо большие числа, такие как 123456789123456789
(который не может быть сохранен как INT
).
Здесь приведен полный список целых типов MySQL: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html