国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

Sql分區(qū)表 理解及實(shí)現(xiàn)

2019-11-02 14:32:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

   如果你的數(shù)據(jù)庫(kù)中某一個(gè)表中的數(shù)據(jù)滿足以下幾個(gè)條件,那么你就要考慮創(chuàng)建分區(qū)表了。

  1、數(shù)據(jù)庫(kù)中某個(gè)表中的數(shù)據(jù)很多。很多是什么概念?一萬(wàn)條?兩萬(wàn)條?還是十萬(wàn)條、一百萬(wàn)條?這個(gè),我覺得是仁者見仁、智者見智的問題。當(dāng)然數(shù)據(jù)表中的數(shù)據(jù)多到查詢時(shí)明顯感覺到數(shù)據(jù)很慢了,那么,你就可以考慮使用分區(qū)表了。如果非要我說(shuō)一個(gè)數(shù)值的話,我認(rèn)為是100萬(wàn)條。

  2、但是,數(shù)據(jù)多了并不是創(chuàng)建分區(qū)表的惟一條件,哪怕你有一千萬(wàn)條記錄,但是這一千萬(wàn)條記錄都是常用的記錄,那么最好也不要使用分區(qū)表,說(shuō)不定會(huì)得不償失。只有你的數(shù)據(jù)是分段的數(shù)據(jù),那么才要考慮到是否需要使用分區(qū)表。

  3、什么叫數(shù)據(jù)是分段的?這個(gè)說(shuō)法雖然很不專業(yè),但很好理解。比如說(shuō),你的數(shù)據(jù)是以年為分隔的,對(duì)于今年的數(shù)據(jù)而言,你常進(jìn)行的操作是添加、修改、刪除和查詢,而對(duì)于往年的數(shù)據(jù)而言,你幾乎不需要操作,或者你的操作往往只限于查詢,那么恭喜你,你可以使用分區(qū)表。換名話說(shuō),你對(duì)數(shù)據(jù)的操作往往只涉及到一部分?jǐn)?shù)據(jù)而不是所有數(shù)據(jù)的話,那么你就可以考慮什么分區(qū)表了。

  那么,什么是分區(qū)表呢?

  簡(jiǎn)單一點(diǎn)說(shuō),分區(qū)表就是將一個(gè)大表分成若干個(gè)小表。假設(shè),你有一個(gè)銷售記錄表,記錄著每個(gè)每個(gè)商場(chǎng)的銷售情況,那么你就可以把這個(gè)銷售記錄表按時(shí)間分成幾個(gè)小表,例如說(shuō)5個(gè)小表吧。2009年以前的記錄使用一個(gè)表,2010年的記錄使用一個(gè)表,2011年的記錄使用一個(gè)表,2012年的記錄使用一個(gè)表,2012年以后的記錄使用一個(gè)表。那么,你想查詢哪個(gè)年份的記錄,就可以去相對(duì)應(yīng)的表里查詢,由于每個(gè)表中的記錄數(shù)少了,查詢起來(lái)時(shí)間自然也會(huì)減少。

  但將一個(gè)大表分成幾個(gè)小表的處理方式,會(huì)給程序員增加編程上的難度。以添加記錄為例,以上5個(gè)表是獨(dú)立的5個(gè)表,在不同時(shí)間添加記錄的時(shí)候,程序員要使用不同的SQL語(yǔ)句,例如在2011年添加記錄時(shí),程序員要將記錄添加到2011年那個(gè)表里;在2012年添加記錄時(shí),程序員要將記錄添加到2012年的那個(gè)表里。這樣,程序員的工作量會(huì)增加,出錯(cuò)的可能性也會(huì)增加。

  使用分區(qū)表就可以很好的解決以上問題。分區(qū)表可以從物理上將一個(gè)大表分成幾個(gè)小表,但是從邏輯上來(lái)看,還是一個(gè)大表。

  接著上面的例子,分區(qū)表可以將一個(gè)銷售記錄表分成五個(gè)物理上的小表,但是對(duì)于程序員而言,他所面對(duì)的依然是一個(gè)大表,無(wú)論是2010年添加記錄還是2012年添加記錄,對(duì)于程序員而言是不需要考慮的,他只要將記錄插入到銷售記錄表——這個(gè)邏輯中的大表里就行了。SQL Server會(huì)自動(dòng)地將它放在它應(yīng)該呆在的那個(gè)物理上的小表里。

  同樣,對(duì)于查詢而言,程序員也只需要設(shè)置好查詢條件,OK,SQL Server會(huì)自動(dòng)將去相應(yīng)的表里查詢,不用管太多事了。

  這一切是不是很誘人?

  的確,那么我們就可以開始動(dòng)手創(chuàng)建分區(qū)表了。

  第一、創(chuàng)建分區(qū)表的第一步,先創(chuàng)建數(shù)據(jù)庫(kù)文件組,但這一步可以省略,因?yàn)槟憧梢灾苯邮褂肞RIMARY文件。但我個(gè)人認(rèn)為,為了方便管理,還是可以先創(chuàng)建幾個(gè)文件組,這樣可以將不同的小表放在不同的文件組里,既便于理解又可以提高運(yùn)行速度。創(chuàng)建文件組的方法很簡(jiǎn)單,打開SQL Server Management Studio,找到分區(qū)表所在數(shù)據(jù)庫(kù),右鍵單擊,在彈出的菜單里選擇“屬性”。然后選擇“文件組”選項(xiàng),再單擊下面的“添加”按鈕,如下圖所示:

Sql分區(qū)表理解及實(shí)現(xiàn) 電腦高手

  第二,創(chuàng)建了文件組之后,還要再創(chuàng)建幾個(gè)數(shù)據(jù)庫(kù)文件。為什么要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)文件,這很好理解,因?yàn)榉謪^(qū)的小表必須要放在硬盤上,而放在硬盤上的什么地方呢?當(dāng)然是文件里啦。再說(shuō)了,文件組中沒有文件,文件組還要來(lái)有啥用呢?還是在上圖的那個(gè)界面,選擇“文件”選項(xiàng),然后添加幾個(gè)文件。在添加文件的時(shí)候要注意以下幾點(diǎn):

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 邢台县| 保定市| 隆尧县| 新宾| 新化县| 日喀则市| 岢岚县| 澄迈县| 石城县| 越西县| 涞源县| 沙雅县| 遂宁市| 阿拉尔市| 含山县| 聂荣县| 尚义县| 徐汇区| 达孜县| 杭州市| 乐陵市| 怀化市| 万全县| 通许县| 东港市| 富阳市| 龙口市| 怀集县| 翼城县| 永川市| 囊谦县| 景东| 儋州市| 柘城县| 衡阳县| 西青区| 西昌市| 新安县| 绥德县| 汾西县| 望奎县|