Размер первичного / внешнего ключа MySQL? - PullRequest
7 голосов
/ 15 мая 2010

Мне кажется, что многие люди произвольно назначают большие размеры полям первичного / внешнего ключа в своих схемах MySQL, таких как INT (11) и даже BIGINT (20), которые использует WordPress.

Теперь поправьте меня, если я ошибаюсь, но даже INT (4) будет поддерживать (без знака) значения до 4 миллиардов. Измените его на INT (5), и вы допустите значения до квадриллиона, что больше, чем вам когда-либо понадобится, если только вы не храните геоданные в НАСА / Google, что, я уверен, большинство из нас не делает.

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

Ответы [ 2 ]

10 голосов
/ 15 мая 2010

Размер не является ни битами, ни байтами. Это просто ширина дисплея, то есть используется, когда поле имеет ZEROFILL указано.

и

INT [(M)] [НЕ ПОДПИСАНО] [ZEROFILL] A целое число нормального размера. Подписанный диапазон от -2147483648 до 2147483647. диапазон без знака от 0 до 4294967295.

См. это объяснение .

0 голосов
/ 15 мая 2010

Я не вижу веской причины использовать число больше 32-битного целого для индексации данных в обычных базах данных. У большинства из них может быть миллионы записей (или такого порядка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...