使用mediumint而不是int作为主键列的好处?

时间:2013-04-30 16:17:01

标签: mysql database database-design database-performance

我继承了一个数据库,其中前一个开发人员使用了mediumintint的混合列。我现在正在浏览数据库并尝试添加外键,由于不同表上的键列之间的类型不匹配,我遇到了一些问题。

示例:

Company
--------
Id (int)
Name (whatever)

Employee
---------
Id (mediumint)
CompanyId(mediumint)
Name (whatever)

From what I understand,使用mediumint将为我节省一个字节的存储空间(但也限制了我超过800万行)。

我更愿意将所有内容移至int,但我想知道使用mediumint而不是int是否会带来明显的好处?

1 个答案:

答案 0 :(得分:0)

您可能知道,扫描MEDIUMINT键比扫描INT键更快。差异通常不是那么大。但是,你的问题对我来说听起来很奇怪:如果你的PK可以是MEDIUMINT,那么任何引用它的FK都应该是MEDIUMINT。 FK如何包含更大的价值?