1

前の開発者がキー列にmediumintとを組み合わせて使用​​していたデータベースを継承しました。int現在、データベースを調べて外部キーを追加しようとしていますが、別のテーブルのキー列間の型の不一致が原因で、いくつかの問題に遭遇しました。

例:

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

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

私が理解していることから、を使用mediumintすると、1バイトのストレージが節約されます(ただし、800万行を少し超える制限もあります)。

すべてを に移行したいのですが、 overintを使用することで顕著な利点があるかどうか疑問に思っています。mediumintint

4

1 に答える 1

0

おそらくご存じのとおり、MEDIUMINT キーをスキャンする方が INT キーをスキャンするよりも高速です。通常、違いはそれほど大きくありません。しかし、あなたの問題は私には奇妙に思えます: あなたの PK が MEDIUMINT である場合、それを参照する FK は MEDIUMINT である必要があります。FK に大きな値が含まれている可能性があるのはなぜですか?

于 2013-04-30T16:38:51.030 に答える