SQL Server 2008で追加されました。
スパース列は、スパースファイルから想像できるように、データがないときに領域を消費しないという列です。
つまり、ほとんどのデータがNULLである列をNULLableな列として定義すると、
データがない(NULLなのに)ディスク容量が消費されます。
スパース列は、NULLの場合はまったくディスク容量を消費しません。
逆にデータがある場合は、通常より余計にディスク容量を消費します。
列のデータ型ごとに効率が異なりますので、十分に慎重に計画をたてる必要があります。
スパース列にできるのは、当たり前ですが、NULLが許容されていなければなりません。
また、既定値は定義できません。(NULLが既定値だ!ということだ)
text, ntext, image, timestamp, ユーザー定義データ型, geometryはスパース列にできません。
この機能は、そもそもがBIのために提供されたようです。
そういうわけで、オイラには使う機会がないと思われます。

コメントする