MySQL: bigint против инт - PullRequest
       25

MySQL: bigint против инт

42 голосов
/ 22 января 2011

Я использовал int (10) и только что заметил, что Wordpress использует bigint (20) - Чем отличается использование bigint (20) и int (10) для автоматического увеличения идентификатора?Какой из них использовать для столбца идентификатора?

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

Vs

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

Спасибо.

Ответы [ 2 ]

61 голосов
/ 22 января 2011

Разница только в максимальном значении, которое может быть сохранено (18,446,744,073,709,551,615 для bigint (20) и 4,294,967,295 для int (10), я полагаю), согласно сведениям о MySQL Числовые типы справочная страница.

Кстати, использование (20) и (10) в значительной степени не имеет значения, если вы не используете ZEROFILL. (то есть фактически не меняет размер сохраняемого числа - все зависит от типа.)

Однако, с практической точки зрения, следует отметить, что вы вряд ли когда-либо достигнете любого из этих пределов в ближайшее время, если вы не действительно активный блоггер.

10 голосов
/ 22 января 2011

Единственное отличие - диапазон типа. INT - это 32-битная длина, а BIGINT - 64-битная, поэтому она может хранить гораздо большие числа, такие как 123456789123456789 (которые нельзя сохранить как INT).

Вот полный список целочисленных типов MySQL: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

...