av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

SQLServer2008稀疏列與列集的經(jīng)驗總結

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

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

我的總結如下

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稀疏列本身的內(nèi)容,我們可以通過下面的語法

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

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


網(wǎng)頁題目:SQLServer2008稀疏列與列集的經(jīng)驗總結
文章URL:http://uogjgqi.cn/article/djdgcdc.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流