0

精度が 15 桁の float データ型の列を多数含むテーブルがあります。各列は 8 バイトのストレージを消費します。ほとんどの場合、データはこの程度の精度を必要とせず、実際のデータ型として格納できます。多くの場合、値は 0 になる可能性があり、その場合、1 バイトを格納するだけで済みます。

ここでの私の目標は、容量ストレージの要件を最適化することです。これは、SQL Express の 4GB データベース サイズ制限で作業する際に直面している問題です。

byte、real、および float データ型が sql_variant 列に格納されている場合、これらの値の格納に明らかにオーバーヘッドが伴います。このオーバーヘッドのコストはいくらですか?

次に、sql_variant 列のデータ型を使用するように切り替えると、実際に大幅な領域の節約になるかどうか (またはそうでないかどうか) を評価する必要があります。

ありがとう、エラン

4

2 に答える 2

1

次の記事は、sql_variantに関する限り、ストレージのコストに光を当てるのに非常に役立つことがわかりました。

http://msdn.microsoft.com/en-us/library/ms178085.aspx

于 2010-06-23T02:23:38.797 に答える
1

sql_variant を使用してスペースを節約することはできず、全体的なレベルの複雑さを導入するだけです

このフィールドに可能なすべての値を格納するには、各列に正しいデータ型が必要です。全体的にフロートが必要ですか?tinyint を使用できますか?などなど

4GB の制限が気になる場合は、新しい Express バージョン (10GB) にアップグレードするか、エディションを上げてください。

于 2010-06-06T13:47:33.997 に答える