MySQL - 有没有任何好处取代INT(11)UNSIGNED与FK到INT(11)UNSIGNED是独一无二的?

时间:2013-08-09 20:03:28

标签: mysql reference foreign-keys int

如果我有表player_res

+-----------+-------+
| player_id | score |
+-----------+-------+
|     1     |   30  |
|     2     |   30  |
|     3     |   22  |
|     4     |   22  |
+-----------+-------+

score作为外键引用会更好吗num.value,而num.value UNIQUE ?因此,某个分数只能在num.value字段中显示一次。

数据库大小和/或速度是否有优势,因为两种类型(player_res.scorenum.value)都是INT(11)?我认为这没关系,但是其他人只是试图说服我使用第二个表来唯一地存储分数会更好地表现,以防桌子变得非常大,这就是我决定在这里问的原因!

此致

1 个答案:

答案 0 :(得分:1)

INT(11)INT的大小相同,即MySQL中的4个字节。对于整数类型,括号中的值只是显示的数字位数。不是类型大小。

http://dev.mysql.com/doc/refman/5.0/en/integer-types.html

使用辅助表来重复删除分数值似乎不是一个非常严肃的想法......或者你和我真的缺少一些细微之处?


如果尺寸确实存在问题,您可能会使用较小的整数(如tinyint)来存储分数?