我继承了一个数据库,其中前一个开发人员使用了mediumint
和int
的混合列。我现在正在浏览数据库并尝试添加外键,由于不同表上的键列之间的类型不匹配,我遇到了一些问题。
示例:
Company
--------
Id (int)
Name (whatever)
Employee
---------
Id (mediumint)
CompanyId(mediumint)
Name (whatever)
From what I understand,使用mediumint
将为我节省一个字节的存储空间(但也限制了我超过800万行)。
我更愿意将所有内容移至int
,但我想知道使用mediumint
而不是int
是否会带来明显的好处?
答案 0 :(得分:0)
您可能知道,扫描MEDIUMINT键比扫描INT键更快。差异通常不是那么大。但是,你的问题对我来说听起来很奇怪:如果你的PK可以是MEDIUMINT,那么任何引用它的FK都应该是MEDIUMINT。 FK如何包含更大的价值?