SQL Server 2008如何建立分區表,並壓縮資料庫空間

來源:互聯網
上載者:User

標籤:drop   資料庫檔案   cti   commit   不同的   增刪改   壓縮   source   部分   

1、什麼是分區

 分區表在邏輯上是一個表,而物理上是多個表。從使用者角度來看,分區表和普通表是一樣的。使用分區表的主要目的是為改善大型表以及具有多個訪問模式的表的延展性和可管理性。分區表是把資料按設定的標準劃分成地區儲存在不同的檔案組中,使用分區可以快速而有效管理和訪問資料子集。

 

適合做分區表的情況

  ? 資料庫中某個表的資料很多,在查詢資料時會明顯感覺到速度很慢,這個時候需要考慮分區表;

  ? 資料是分段的,如以年份為分隔的資料,對於當年的資料經常進行增刪改查操作,而對於往年的資料幾乎不做操作或只做查詢操作,這種情況可以使用分區表。對資料的操作如果只涉及一部分資料而不是全部資料的情況可以考慮分區表,如果一張表的資料經常使用且不管年份之類的因素經常對其增刪改查操作則最好不要分區。

 

2、 為什麼要進行表分區 ? 分區表可以從物理上將一個大表分成幾個小表,但是從邏輯上來看還是一個大表。

 ? 對於具有多個CPU的系統,分區可以對錶的操作通過並行的方式進行,可以提升訪問效能。

3、怎麼進行表分區

 建立分區表的步驟分為5步:

  (1)建立資料庫檔案組

  (2)建立資料庫檔案

  (3)建立分區函數

  (4)建立資料分割配置

  (5)建立分區表

 3.1、建立資料庫檔案組

        註:資料庫:ZMQGL_TEST;表:dbo.ENTRY_HEAD、dbo.ENTRY_LIST為例

            建立檔案組:alter database ZMQGL_TEST add filegroup Group1

            文法:alter database <資料名稱> add filegroup <檔案組名稱>

  3.2、建立資料庫檔案

    建立檔案並添加到檔案組中:

alter database ZMQGL_TEST add file 

(name=N‘ById1‘,filename=N‘E:\DB\ZMQGL_test\ById1.ndf‘,size=5Mb,filegrowth=5mb)
to filegroup Group1 文法:alter database <資料庫名稱> add file <資料標識> to filegroup <檔案組名稱>
--<資料標識> (name:檔案名稱,fliename:實體路徑檔案名稱,size:檔案初始大小kb/mb/gb/tb,filegrowth:檔案自動增量kb/mb/gb/tb/%,maxsize:檔案可以增加到的最大大小kb/mb/gb/tb/unlimited)
  

  3.3、建立分區函數、建立資料分割配置、建立分區表

      右鍵到要分區的表--- >> 儲存 --- >> 建立分區 --- >>顯示嚮導視圖 --- >> 下一步 --- >> 下一步。。

        

                                                   
點擊“下一步”,最後點擊完成會產生分區函數和資料分割配置的指令碼,如下:USE [ZMQGL_TEST]GOBEGIN TRANSACTIONCREATE PARTITION FUNCTION [FQ_HS](datetime2(3)) AS RANGE LEFT FOR VALUES (N‘2015-12-31T23:59:59.999‘, N‘2016-12-31T23:59:59.999‘)CREATE PARTITION SCHEME [FQ_FA] AS PARTITION [FQ_HS] TO ([PRIMARY], [Group1], [Group2])CREATE CLUSTERED INDEX [ClusteredIndex_on_FQ_FA_636040955802353043] ON [dbo].[ENTRY_HEAD] (    [D_DATE])WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [FQ_FA]([D_DATE])DROP INDEX [ClusteredIndex_on_FQ_FA_636040955802353043] ON [dbo].[ENTRY_HEAD] WITH ( ONLINE = OFF )COMMIT TRANSACTION  直接F5運行即可。
  

 

4、新增分區表【新增分區邊界】       1、先新增檔案組和檔案,例如:Group3,並建立好對應關係
       2、新增邊界值
ALTER PARTITION SCHEME FQ_FA NEXT USED [Group3]
    文法“:
ALTER PARTITION SCHEME <資料分割配置> NEXT USED <檔案組>
ALTER PARTITION FUNCTION <分區函數> SPLIT RANGE(<邊界值>)

5、刪除(合并)分區
    刪除邊界值為‘2017-12-31 23:59:59.999‘的分區
    ALTER PARTITION FUNCTION FQ_HS() MERGE RANGE (‘2017-12-31 23:59:59.999‘)
與之対應的資料分割配置也發生了變化。

SQL Server 2008如何建立分區表,並壓縮資料庫空間

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.