MySQL主/外键大小?

时间:2010-05-15 17:58:35

标签: mysql size primary-key foreign-keys

我似乎看到很多人在MySQL模式中任意地为主/外键字段分配大尺寸,例如INT(11)甚至BIGINT(20),就像WordPress一样。

如果我错了,现在纠正我,但即使是INT(4)也会支持(无符号)超过40亿的值。将它更改为INT(5)并允许最大值为千万亿的值,这比您需要的更多,除非您可能在NASA / Google上存储地理数据,我相信我们大多数人都不会。

是否有人使用如此大尺寸的主键?对我来说似乎是一种浪费...

2 个答案:

答案 0 :(得分:10)

  

大小既不是位也不是字节。   这只是显示宽度   当场地有ZEROFILL时使用   指定。

  

INT [(M)] [UNSIGNED] [ZEROFILL] A.   正常大小的整数。签名范围   是-2147483648到2147483647   无符号范围是0到4294967295。

this explanation

答案 1 :(得分:0)

我认为没有任何理由使用大于32位整数的数字来索引正常业务大小的数据库中的数据。他们中的大多数可能有数百万条记录(或那个数量级)。