成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2008稀疏列與列集的經驗總結

數據庫 SQL Server
下面的文章主要介紹的是SQL Server 2008稀疏列與SQL Server 2008列集這兩個新增的特性的經驗總結,以下就是文章的主要內容講解。

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

 

我的總結如下

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

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

稀疏列不是一個數據類型,它是一個列的屬性而已。

2. 列集是可以定義所有稀疏列的集合。這是一個XML數據類型。如果為多個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  

插入數據是一模一樣的 

  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

 

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

 

  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','<ProductionSpecification>AXW9R411</ProductionSpecification><ProductionLocation>38</ProductionLocation>')    

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

 

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

 

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

 

 

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

 

【編輯推薦】

  1. SQL Server DateTime數據類型的另類解讀
  2. SQL Server identity列,美中不足之處
  3. SQL Server實例中對另個實例的調用
  4. SQL Server 2008數據庫中正確的對驗證數據挖掘模型
  5. SQL Server2000連接錯誤的緣由有哪些?

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-06 12:27:32

SQL Server

2010-07-26 13:47:11

SQL Server

2011-03-28 17:12:36

sql server數優化

2009-03-11 15:40:20

2009-09-16 17:44:54

LINQ to SQL

2010-11-11 09:51:46

SQL Server添

2010-07-14 09:17:17

SQL Server數

2009-10-15 09:27:00

2010-05-19 16:57:49

SVN與CVS的區別

2011-07-21 13:40:17

java

2010-07-16 15:53:19

SQL Server數

2010-10-19 17:09:27

sql server標

2009-09-16 17:13:54

學習Linq

2009-08-19 09:24:43

AJAX引擎經驗總結

2009-09-29 16:32:11

OJB Hiberna

2010-06-17 16:06:07

SQL Server數

2018-06-07 09:29:34

數據庫MySQL慢SQL

2017-11-09 17:35:21

數據庫OracleSQL優化

2010-05-17 13:34:47

2010-03-25 13:42:14

云計算
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本欧美大片 | 国产999精品久久久 午夜天堂精品久久久久 | 999久久久久久久久6666 | 五月婷婷丁香婷婷 | 日韩在线精品视频 | 少妇一区在线观看 | 中文字幕高清 | 久久精品99| 日韩欧美在线播放 | 欧美性生交大片免费 | 欧美极品在线 | 国产成人精品一区二区三区视频 | 中文成人在线 | 国产一区二区三区免费 | 免费一区| 一区二区三区在线免费观看 | 久久久久久一区 | 韩国av网站在线观看 | 亚洲精久| 欧美在线综合 | 米奇7777狠狠狠狠视频 | 欧美日韩亚洲系列 | 久久69精品久久久久久久电影好 | 狠狠干天天干 | 婷婷丁香在线视频 | 国产午夜在线观看 | 人人擦人人 | 国产精品久久二区 | 黄色国产在线播放 | 免费一级欧美在线观看视频 | 国产精品18hdxxxⅹ在线 | 天天摸天天干 | 中文字幕 国产精品 | 亚洲一区视频在线 | 成人免费观看视频 | 麻豆av在线免费观看 | 国产视频欧美 | 国产在线高清 | 欧美xxxⅹ性欧美大片 | 久久精品国产一区二区电影 | 国产一区二区影院 |