2012-03-15 18 views
1

私たちは、各レコードの1つの列にヌル以外の値が割り当てられ、Cのような種類のnull許容列を持つテーブルを持っています。これはSPARSEを使用する理想的なケースですか?よりよい選択肢がありますか?それぞれの列は(外部の)外部キーですので、他のエンティティとの関係を明確に定義したいので、それらを1つの列にマージしようとは思わないと思います。SQL列統合を実装する最も良い方法はSPARSEですか?

私たちがなぜこのデザインを持っているのか疑問に思っている場合は、シリアル番号の追跡用です。シリアル番号で発生する可能性があるすべてのトランザクションについて、1つのレコードがあります。私たちが気にかけている19種類の取引があります(19種類のテーブルに記録されています)。私たちは、これらの取引のいずれかを参照できるようにしたいと考えています。少なくとも64%がNULLある場合

+0

この質問をご覧くださいhttp://stackoverflow.com/questions/1398453/why-when-should-i-use-sparse-column-sql-server-2008 – Lamak

+0

クエリオプティマイザは非常に優れています列のNULL値を扱う結合されたすべての値に対して1つの結果セットを取得しようとしていますか? – Gats

+0

このデザインの理由は何ですか?カットダウンの例がありますか?たぶんスーパータイプ/サブタイプパターンが必要でしょうか? –

答えて

0

BOLセクションEstimated Space Savings by Data Typeによると、あなたはINTの列のSPARSEを検討すべきです。

あなたは94.7%NULLなので、私にこれを恩恵を受けるようです。しかしこれは珍しいデザインのようです。

+0

スペース節約がそこにあることはすでに知っていたので、スパースは何もないよりも優れています。私はもっ​​と良い選択肢があるかどうか疑問に思っていました。 – BlueMonkMN

関連する問題