主頁(yè) > 知識(shí)庫(kù) > 一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)

一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)

熱門(mén)標(biāo)簽:真3地圖標(biāo)注 疫情時(shí)期電話機(jī)器人 南京怎么申請(qǐng)400這種電話 臺(tái)灣外呼系統(tǒng)軟件 樂(lè)昌電話機(jī)器人 地圖標(biāo)注跑線下市場(chǎng) 南通智能外呼系統(tǒng)怎么樣 濮陽(yáng)清豐400開(kāi)頭的電話申請(qǐng) 地圖標(biāo)注可以編輯地名嗎

直接上步驟:

1)新建一個(gè)數(shù)據(jù)庫(kù)

 

2)添加幾個(gè)文件組

3)回到“常規(guī)”選項(xiàng)卡,添加數(shù)據(jù)庫(kù)文件

看到用紅色框框起來(lái)的地方?jīng)]?上一步中建立的文件組在這里就用上了。再看后面的路徑,我把每一個(gè)文件都單獨(dú)放在不同的磁盤(pán)上,而且最好都是單獨(dú)的放在不同的物理盤(pán)上,這樣會(huì)大大提高數(shù)據(jù)的性能。 點(diǎn)擊“確定”數(shù)據(jù)庫(kù)就算創(chuàng)建完成了。

4)接下來(lái)要做的是建立一個(gè)分區(qū)行數(shù),SQL語(yǔ)句如下:大家學(xué)習(xí)的時(shí)候最好不要直接COPY,動(dòng)手把它抄一遍也好。

create partition function PartFuncForExample(Datetime) 
as Range Right for Value('20000101','20010101','20020101','20030101') 

這里我準(zhǔn)備用表中的某個(gè)時(shí)間字段作為分區(qū)的條件,當(dāng)然你也可以用其他的,比如INT之類(lèi),只要好分段的都可以。

這里注意 Right 關(guān)鍵字,意思就是當(dāng)記錄的時(shí)間(在下面會(huì)被指到表的某個(gè)字段)大于等于20000101的時(shí)候,數(shù)據(jù)會(huì)被分到下一個(gè)區(qū)間,比如2000年1月1號(hào)之前的數(shù)據(jù)會(huì)被分到一區(qū),包含2000年1月1號(hào)和之后的數(shù)據(jù)會(huì)被分到二區(qū),以此類(lèi)推。Right 也可以使用Left替代,意思同上類(lèi)似。另外,上面我定義了四個(gè)分割點(diǎn),這四個(gè)分割點(diǎn)是根據(jù)我們剛剛創(chuàng)建的文件組來(lái)決定的。四個(gè)分割點(diǎn)就能產(chǎn)生5個(gè)區(qū)間段,我們把每個(gè)區(qū)間段的數(shù)據(jù)存入一個(gè)文件組。

正確執(zhí)行上述語(yǔ)句后你可以在數(shù)據(jù)里找到以“PartFuncForExample”命名的分區(qū)函數(shù),如下圖

5)把分區(qū)函數(shù)建立好以后,我們?cè)賮?lái)建立分區(qū)方案。目的是為了把分區(qū)函數(shù)產(chǎn)生的分區(qū)映射到文件數(shù)據(jù)組里。分區(qū)函數(shù)是告訴數(shù)據(jù)庫(kù)如何分區(qū)數(shù)據(jù),而分區(qū)方案是告訴數(shù)據(jù)庫(kù)如何把已分區(qū)的數(shù)據(jù)存到哪個(gè)文件組里。

下面我來(lái)創(chuàng)建分區(qū)方案。

Create Partition Scheme PartSchForExample //創(chuàng)建一個(gè)分區(qū)方案+分區(qū)方案名稱 
As Partition PartFuncForExample//目的為了 分區(qū)函數(shù)PartFuncForExample 
To 
( 
PRIMARY, //文件組名 
Partition1, //文件組名 
Partition2, //文件組名 
Partition3, //文件組名 
Partition4 //文件組名 
) 

正確執(zhí)行后能在分區(qū)方案中看到,如下圖

6)馬上就快要大公告成了,下面我們來(lái)建立要分區(qū)存儲(chǔ)的表,該表的數(shù)據(jù)理論上應(yīng)該是非常非常多的,百萬(wàn)級(jí)別的記錄以上而且基本上是不更新的。要不然建立分區(qū)存儲(chǔ)就沒(méi)多大意義了。

Create Table PartitionTable( 
[ID] [int] Identity(1,1) not null, 
[Name] [nvarchar](50) not null, 
[LoginDate] [DateTime] not null //用來(lái)進(jìn)行分區(qū) 
) On PartSchForExample([LoginDate]) //上面提到的指定分區(qū)字段就是這里指定的了。 

執(zhí)行這段SQL,沒(méi)報(bào)錯(cuò)的話就大功告成了,呵呵.

總結(jié):

分區(qū)存儲(chǔ)提高了數(shù)據(jù)庫(kù)的性能,被分區(qū)存儲(chǔ)的數(shù)據(jù)物理上是多個(gè)文件,但邏輯上任然是一個(gè)表,對(duì)表的任何操作都跟沒(méi)分區(qū)之前一樣。插入、刪除、查詢、更新等操作的時(shí)候,數(shù)據(jù)庫(kù)會(huì)自動(dòng)為你找到對(duì)應(yīng)的分區(qū),然后執(zhí)行操作。另外的話 把多個(gè)數(shù)據(jù)文件、日志文件都分別部署在不同的高性能物理盤(pán)上,也能大大提高性能.

當(dāng)然,分區(qū)存儲(chǔ)的好處還有很多我不知道的,歡迎大家一起探討!

您可能感興趣的文章:
  • SQL server 2005的表分區(qū)
  • Oracle數(shù)據(jù)表分區(qū)的策略
  • Oracle 數(shù)據(jù)表分區(qū)的策略
  • PostgreSQL 創(chuàng)建表分區(qū)
  • SQLSERVER 表分區(qū)操作和設(shè)計(jì)方法
  • 創(chuàng)建mysql表分區(qū)的方法
  • oracle存儲(chǔ)過(guò)程創(chuàng)建表分區(qū)實(shí)例
  • oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法
  • MySQL的表分區(qū)詳解
  • Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析

標(biāo)簽:南京 福建 陜西 廣安 阿里 馬鞍山 通遼 河北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)》,本文關(guān)鍵詞  一,步步,教你,建立,SQL,數(shù)據(jù)庫(kù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于一步步教你建立SQL數(shù)據(jù)庫(kù)的表分區(qū)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章