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

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

新聞中心

這里有您想知道的互聯網營銷解決方案
SQLServer2005數據庫分區(qū)數據的移入和移出操作

SQL Server 2005數據分區(qū)可以使用SWITCH操作符輕松地在分區(qū)進行數據移入和移出。在SQL Server 2005里建立數據分區(qū),那么現在可以進一步了解如何使用SWITCH操作符在分區(qū)里控制數據操作。下面我們通過舉例來說明。

成都創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、做網站、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的長海網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

我們先來一個簡單的例子。下面***組代碼創(chuàng)建分區(qū)函數和分區(qū)方案,并把新建的分區(qū)方案應用到新建表"partTable"中。

de>以下是引用片段:

--create partition function

 
 
 
 
  1. CREATE PARTITION FUNCTION partRange1(INT)  
  2.  
  3. AS RANGE LEFT FOR VALUES(10,20,30);  
  4.  
  5. GO 

--create partition scheme

 
 
 
 
  1. CREATE PARTITION SCHEME partScheme1  
  2.  
  3. AS PARTITION partRange1  
  4.  
  5. ALL TO([PRIMARY]);  
  6.  
  7. GO 

--create table that uses this partitioning scheme

 
 
 
 
  1. CREATE TABLE partTable(col1 INT,col2 VARCHAR(20))  
  2.  
  3. ON partScheme1(col1);  
  4.  
  5. GO 

接著我們可以運行以下命令來看看分區(qū)創(chuàng)建得如何。

de>以下是引用片段:

 
 
 
 
  1. SELECT *FROM sys.partitions  
  2.  
  3. WHERE OBJECT_IDOBJECT_ID=OBJECT_ID('partTable') 

現在分區(qū)已經建立好了,可以試著插入新的數據,然后選擇數據,看看表里顯示有什么數據。

de>以下是引用片段:

--insert some sample data

 
 
 
 
  1. INSERT INTO partTable(col1,col2)VALUES(5,'partTable')  
  2.  
  3. INSERT INTO partTable(col1,col2)VALUES(6,'partTable')  
  4.  
  5. INSERT INTO partTable(col1,col2)VALUES(7,'partTable') 

--select the data

 
 
 
 
  1. SELECT * FROM partTable 

插入數據

我們現在來嘗試把另外一個表里的數據轉移到經分區(qū)的表里。首先我們需要創(chuàng)建一個新表,命名為"newPartTable",這個新建表跟分區(qū)的表有同樣的分區(qū)方案,但是我們還是需要在"col1"創(chuàng)建CHECK約束,使數據導入匹配的分區(qū)表里。這些數據***會被導入到分區(qū)表的第4分區(qū)里。因此我們要確保 CHECK約束要跟分區(qū)函數的創(chuàng)建相匹配。另外,我們還需要指明該值不能為NULL。如下所示:

col1 INT CHECK (col1 > 30 AND col1 <= 40 AND col1 IS NOT NULL

創(chuàng)建完表之后我們插入一些數據,然后再select已插入的數據。

de>以下是引用片段:

--switchin

 
 
 
 
  1. CREATE TABLE newPartTable(col1 INT CHECK(col1>30 AND col1<=40 AND col1 IS NOT NULL),  
  2.  
  3. col2  VARCHAR(20de>))  
  4.  
  5. GO 

--insertsomesampledataintonewtable

 
 
 
 
  1. INSERT INTO newPartTable(col1,col2) VALUES(31,'newPartTable')  
  2.  
  3. INSERT INTO newPartTable(col1,col2) VALUES(32,'newPartTable')  
  4.  
  5. INSERT INTO newPartTable(col1,col2) VALUES(33,'newPartTable') 

--selectthedata

 
 
 
 
  1. SELECT * FROM partTable  
  2.  
  3. SELECT * FROM newPartTable 

這里我們可以看到partTable和newPartTable兩個表的情況。

#p#

下一組命令就是用來轉移數據的。我們用ALTER TABLE命令把數據從表newPartTable中把數據轉移到分區(qū)表的第4分區(qū)里。我們選擇第4分區(qū)是因為我們插入col1的值需要匹配分區(qū)函數的設置。完成數據的移植之后,可以輸入select data,就會看到newPartTable的全部數據都移到了partTable里。而且表newPartTable在數據移出后依然存在。

de>以下是引用片段:

--maketheswitch

 
 
 
 
  1. ALTER TABLE newPartTable SWITCHT OpartTable PARTITION4;  
  2.  
  3. GO 

--select the data

 
 
 
 
  1. SELECT * FROM partTable  
  2.  
  3. SELECT * FROM newPartTable 

數據移出

反過來,有時候我們也需要從數據庫的分區(qū)表里把數據轉移到別的表里。那要怎么做呢?首先我們來創(chuàng)建一個名為"nonPartTable"的表,分區(qū)方案同上。注意,這個表中的列只含有基本的信息,不需要創(chuàng)建CHECK約束。

創(chuàng)建新表后,我們還是使用ALTER TABLE命令來把第1分區(qū)里的"partTable"表中的數據轉移到新建表"nonPartTable"中。第1分區(qū)里的數據是所有"col1"值小于10的條目。

轉移數據之后,我們來執(zhí)行select the data命令。

de>以下是引用片段:

--switchout

 
 
 
 
  1. CREATE TABLE nonPartTable(col1 INT,col2  VARCHAR(20))  
  2.  
  3. ON[primary];  
  4.  
  5. GO 

--make the switch

 
 
 
 
  1. ALTER TABLE partTable SWITCH PARTITION1 TO nonPartTable;  
  2.  
  3. GO 

--select the data

 
 
 
 
  1. SELECT * FROM partTable  
  2.  
  3. SELECT * FROM nonPartTablede> 

從下圖可以看到,partTable里的數據已經轉移到了表nonPartTable里。

現在我們了解到數據分區(qū)功能對于移動和維護大量數據集有很大的作用。不過***要說的是,雖然這個功能看起來很簡單,但是在實施數據分區(qū)方案之前還要考慮很多因素。

本文就介紹到這里,如果想了解更多SQL Server數據庫的操作,可以到我們網站的SQL Server頻道:http://database./sqlserver/,謝謝!


網站名稱:SQLServer2005數據庫分區(qū)數據的移入和移出操作
網址分享:http://www.dlmjj.cn/article/dpogipd.html