(稀疏列)一種可能的用途是——在聯系人管理系統中,保存一個聯系人的大量信息。往往只有很少的用戶才會填入所有信息,這就潛在地浪費了大量的空間。(以前)通用的解決方案是,創建一個“實體-屬性-值”表,這個表保存了聯系人編號、屬性的名稱或關鍵字以及屬性的值。
但“實體-屬性 -值”表也存在一些問題。一個問題是,這種表的大小要比普通表增長得快,可能會導致一些嚴重的性能問題。另外,這種表不具有嚴格的關系。轉化一個“實體 -屬性-值”表到一個普通表需要花費大量的時間,尤其在SQL Server 2005引入PIVOT關鍵詞之前。
通過使用稀疏列,列數量的限制和相關的空間要求問題都被根除了。按照Steve Jones的說法,SQL Server 2008理論上能夠支持“成千上萬的稀疏列”。不過目前關於這個特性的細節還不多。
Bob Beauchemin給出了一個使用該新語法的例子:
CREATETABLEproducts(product_numint,item_numint,pricedecimal(7,2),...,
colorchar(5)SPARSE,widthfloatSPARSE...)