Database Partition

Database Partition

當table 有一個很多筆資料超過 1T 筆時,

資料庫在處理 query 就要對這麼多筆資料進行 Scan,

如果可以根據資料的年份切割 Partition ,就可以將每個 Partition 的資料減少,

進而減少資料庫所需讀取的筆數,如下圖所示,將資料透過 Date 來做切割 Partition

 

 

TablePartition

 

 

File & FileGroup 的差異

  • File 為存在作業系統實體的檔案
  • FileGroup為邏輯檔案,1個FileGroup可以對應多個 ndf檔案

應用:可以透過 FileGroup 將資料存放在不同的磁碟, 例如 FileGroup 1 放在 SAS,FileGroup 2 放在 SSD。或是將 Table 放到 SAS 。Index放到SSD。

DBfilesGroups

 

 

假設我們有一個資料表,有三筆資料,如下圖所示

NBAPlayer

 

 

 

那要如何建立 Partition 呢?

可以透過 Wizard 達成,原則上會經過下列步驟

1. 建立 File Groups

2. 建立 partition

3. 建立 Scheme/Functions

 

建立 fileGroups

Database > Properties > File Groups > 2011 .. 2012 .. 2013

FileGroup

 

建立Files

Database > Properties > File  > 2011 並且指定 FileGroup

CreateFiles

建立 Partition

於該 Table 按右鍵 > Storage > Create Partition > 進入 Wizard 設定

create partition

 

Create Partition Wizard

指定一個 Function Name

 

PartionWizard2

 

只指定一個 SchemePartiionScheme

 

指定要做 Partition的欄位,例如我們希望用年份來做 partition

因此選擇 Date 的欄位

 

partiionWizard1

 

 

 

設定欄位範圍

每一個Filegroup 與日期範圍的設定

PartitionRange

 

驗證 partition

完成之後,可以透過下列方式驗證:

  • Storage > Partition Schemes
  • Storage > Partition FunctionsPartitionScheme PartionCheck

 

 

12/13開課, 12/5前報名早鳥優惠!

本課程採線上報名,請按連結進入報名系統https://w3.iiiedu.org.tw/NewUser.php?id=MSA282I1401
課程諮詢:(02)6631-6533 課程經理 黃小姐,E-mail:julie620@iii.org.tw
報名確認:(02)6631-6536 邱小姐,E-mail:mg9401@iii.org.tw

Leave a Reply

Your email address will not be published. Required fields are marked *