日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
SQLServer2008稀疏列與列集的經驗總結

此文章主要向大家講述的是SQL Server 2008稀疏列與SQL Server 2008列集這兩個新增的特性的經驗總結的描述,如果你對SQL Server 2008稀疏列與SQL Server 2008列集這兩個新增的特性的經驗有興趣的話,你就可以對以下的文章點擊觀看了。

在江川等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網站、網站制作 網站設計制作按需制作網站,公司網站建設,企業(yè)網站建設,品牌網站制作,成都營銷網站建設,外貿營銷網站建設,江川網站建設費用合理。

我的總結如下

1. 稀疏列主要是為了提供對可空字段的更好一個存儲機制,它可以節(jié)省空間(具體說它在真正空值的時候就不占空間),但也會帶來一些性能方面的影響。所以要有所權衡。

SQL Server 2008稀疏列主要使用場景:一個實體有很多屬性列,但很多屬性都可能填不滿。這在以前我們稱為屬性集問題。

稀疏列不是一個數(shù)據(jù)類型,它是一個列的屬性而已。

2. 列集是可以定義所有稀疏列的集合。這是一個XML數(shù)據(jù)類型。如果為多個SQL Server 2008稀疏列定義了一個列集,那么針對這些列的修改,就既可以直接修改這些列,也可以通過一次性通過修改列集字段來完成。列集字段其實是一個計算字段。

下面來看一個例子

首先,看看如何使用稀疏列。這里的關鍵在于定義的時候使用SPARSE關鍵字

 
 
 
  1. USE AdventureWorks 
  2. GO 
  3. CREATE TABLE DocumentStore 
  4. (DocID int PRIMARY KEY, 
  5. Title varchar(200) NOT NULL, 
  6. ProductionSpecification varchar(20) SPARSE NULL, 
  7. ProductionLocation smallint SPARSE NULL, 
  8. MarketingSurveyGroup varchar(20) SPARSE NULL ) ; 
  9. GO 

插入數(shù)據(jù)是一模一樣的 

 
 
 
  1. INSERT DocumentStore(DocID, Title, ProductionSpecification, ProductionLocation) 
  2. VALUES (1, 'Tire Spec 1', 'AXZZ217', 27) 
  3. GO 
  4. INSERT DocumentStore(DocID, Title, MarketingSurveyGroup) 
  5. VALUES (2, 'Survey 2142', 'Men 25 - 35')

GO然后,我們看看如何把列集與SQL Server 2008稀疏列進行結合使用

 
 
 
  1. USE AdventureWorks; 
  2. GO 
  3. CREATE TABLE DocumentStoreWithColumnSet 
  4. (DocID int PRIMARY KEY, 
  5. Title varchar(200) NOT NULL, 
  6. ProductionSpecification varchar(20) SPARSE NULL, 
  7. ProductionLocation smallint SPARSE NULL, 
  8. MarketingSurveyGroup varchar(20) SPARSE NULL, 
  9. MarketingProgramID int SPARSE NULL, 
  10. SpecialPurposeColumns XML COLUMN_SET FOR ALL_SPARSE_COLUMNS);

目前這里只是支持ALL_SPARSE_COLUMNS這個關鍵字,也就是說所有的稀疏列 

GO

使用列集之后,既可以直接使用列集插入數(shù)據(jù),也可以使用SQL Server 2008稀疏列本身插入數(shù)據(jù)

 
 
 
  1. INSERT DocumentStoreWithColumnSet (DocID, Title, ProductionSpecification, ProductionLocation) 
  2. VALUES (1, 'Tire Spec 1', 'AXZZ217', 27) 
  3. GO 
  4. INSERT DocumentStoreWithColumnSet (DocID, Title, MarketingSurveyGroup) 
  5. VALUES (2, 'Survey 2142', 'Men 25 - 35') 
  6. GO
  7. INSERT DocumentStoreWithColumnSet (DocID, Title, SpecialPurposeColumns) 
  8. VALUES  (3, 'Tire Spec 2','AXW9R41138')  

GO有意思的是,此時如果再以SELECT *的語法查詢該表的話,那些稀疏列默認是不會被返回的,而只是返回列集

當然啦,如果還是想返回SQL Server 2008稀疏列本身的內容,我們可以通過下面的語法

 
 
 
  1. SELECT  DocID, Title, ProductionSpecification, ProductionLocation FROM  
  2. DocumentStoreWithColumnSet WHERE ProductionSpecification IS NOT NULL ;

至于更新,和插入一樣,兩種方式都是可以的,且效果一樣


本文標題:SQLServer2008稀疏列與列集的經驗總結
網頁URL:http://www.dlmjj.cn/article/djdgcdc.html