SQL Server 2008 引入了“稀疏列”啦!
以下的文章主要向大家講述的是SQL Server 2008 引入了“稀疏列”,我們大家都知道SQL Server 2008 數(shù)據(jù)庫消除了,其每個表只能有1024個列的限制,這是通過一個名叫“稀疏列(sparse columns)”的選項(xiàng)來實(shí)現(xiàn)的。
雖然不限制列的個數(shù)看起來似乎沒有多大用處,但確實(shí)曾經(jīng)有開發(fā)人員反對過這種限制。
(稀疏列)一種可能的用途是——在聯(lián)系人管理系統(tǒng)中,保存一個聯(lián)系人的大量信息。往往只有很少的用戶才會填入所有信息,這就潛在地浪費(fèi)了大量的空間。(以前)通用的解決方案是,創(chuàng)建一個“實(shí)體-屬性-值”表,這個表保存了聯(lián)系人編號、屬性的名稱或關(guān)鍵字以及屬性的值。
但“實(shí)體-屬性 -值”表也存在一些問題。一個問題是,這種表的大小要比普通表增長得快,可能會導(dǎo)致一些嚴(yán)重的性能問題。另外,這種表不具有嚴(yán)格的關(guān)系。轉(zhuǎn)化一個“實(shí)體 -屬性-值”表到一個普通表需要花費(fèi)大量的時間,尤其在SQL Server 2005引入PIVOT關(guān)鍵詞之前。
通過使用稀疏列,列數(shù)量的限制和相關(guān)的空間要求問題都被根除了。按照Steve Jones的說法,SQL Server 2008理論上能夠支持“成千上萬的稀疏列”。不過目前關(guān)于這個特性的細(xì)節(jié)還不多。
Bob Beauchemin給出了一個使用該新語法的例子:
- CREATE TABLE products (product_num int, item_num int, price decimal(7,2), ...,
- color char(5) SPARSE, width float SPARSE...)
以上的相關(guān)內(nèi)容就是對SQL Server 2008 引入了“稀疏列的介紹,望你能有所收獲。
上述的相關(guān)內(nèi)容就是對SQL Server 2008 引入了“稀疏列”的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】