Я, кажется, вижу много людей, произвольно присваивающих большие размеры основным полям / полям внешнего ключа в их схемах MySQL, таких как INT (11) и даже BIGINT (20) как использование WordPress.
Теперь исправьте меня, если бы я неправ, но даже INT (4) поддерживал бы (неподписанные) значения до более чем 4 миллиардов. Измените его на INT (5), и Вы допускаете значения до квадрильона, который является больше, чем Вам когда-либо было бы нужно, если возможно Вы не храните геоданные в НАСА/Google, которое я уверен, что большинство из нас не.
Существует ли причина, люди используют такие большие размеры для своих первичных ключей? Походит на отходы мне...
Размер - это не биты и не байты. Это просто ширина отображения, которая используется, когда поле имеет ZEROFILL указано.
и
INT[(M)] [UNSIGNED] [ZEROFILL] Целое число нормального размера. целое число нормального размера. Знаковый диапазон от -2147483648 до 2147483647. беззнаковый диапазон - от 0 до 4294967295.
См. это пояснение.
Я не вижу веских причин использовать число больше 32-битного целого для индексирования данных в обычных базах данных бизнес-размера. Большинство из них имеют, возможно, миллионы записей (или такого порядка величины).