1

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

例子:

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

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

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

我宁愿把所有东西都移到,但我想知道使用over是否int会有任何明显的好处?mediumintint

4

1 回答 1

0

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

于 2013-04-30T16:38:51.030 回答