程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008 引入了“稀疏列”

SQL Server 2008 引入了“稀疏列”

編輯:關於SqlServer
SQL Server 2008 消除了每個表只能有1024個列的限制,這是通過一個名叫“稀疏列(sparse columns)”的選項來實現的。雖然不限制列的個數看起來似乎沒有多大用處,但確實曾經有開發人員反對過這種限制。

  (稀疏列)一種可能的用途是——在聯系人管理系統中,保存一個聯系人的大量信息。往往只有很少的用戶才會填入所有信息,這就潛在地浪費了大量的空間。(以前)通用的解決方案是,創建一個“實體-屬性-值”表,這個表保存了聯系人編號、屬性的名稱或關鍵字以及屬性的值。

  但“實體-屬性 -值”表也存在一些問題。一個問題是,這種表的大小要比普通表增長得快,可能會導致一些嚴重的性能問題。另外,這種表不具有嚴格的關系。轉化一個“實體 -屬性-值”表到一個普通表需要花費大量的時間,尤其在SQL Server 2005引入PIVOT關鍵詞之前。

  通過使用稀疏列,列數量的限制和相關的空間要求問題都被根除了。按照Steve Jones的說法,SQL Server 2008理論上能夠支持“成千上萬的稀疏列”。不過目前關於這個特性的細節還不多。

  Bob Beauchemin給出了一個使用該新語法的例子:

  CREATETABLEproducts(product_numint,item_numint,pricedecimal(7,2),...,
  colorchar(5)SPARSE,widthfloatSPARSE...)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved