smallintとパフォーマンスのint

列の値がsmallintデータ型で許可されている範囲内にあることがわかっている場合は、データの整合性の保守の観点から、int列ではなくsmallint列にデータを格納するようにしているようです。

しかし、バイト数を減らしてパフォーマンスのヒットがあるかどうかは疑問です。

11

2 答え

より小さなタイプ=ディスク上のストレージが少なくなり、より効率的なインデックスにつながります。ただし、大量のデータを処理する場合を除き、パフォーマンスの向上は最小限に抑えられます。さらに暗黙的な変換(これはパフォーマンスの向上を相殺する可能性があります)を避けるためには、正しいタイプ(パラメータの比較など)を使用する列を参照するときは必ず確認する必要があります。

おそらくいずれかの方法で洗うでしょう。

11
追加された

スチュアートが言及しているように、パフォーマンスとストレージの違いはごくわずかです。

また、指定した型でモデル化したい "ドメイン"も考慮する必要があります。 smallintがデータのドメインをより正確にモデル化していれば、明らかにパフォーマンスを向上させることはできません。

2
追加された