<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    This Is A FineDay

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      93 隨筆 :: 0 文章 :: 69 評(píng)論 :: 0 Trackbacks
    關(guān)于分區(qū)表和分區(qū)索引(About Partitioned Tables and Indexes)對(duì)于10gR2而言,基本上可以分成幾類(lèi):
    •    Range(范圍)分區(qū)
    •    Hash(哈希)分區(qū)
    •    List(列表)分區(qū)
    •    以及組合分區(qū):Rang e- Hash,Range-List。

      對(duì)于表而言(常規(guī)意義上的堆組織表),上述分區(qū)形式都可以應(yīng)用(甚至可以對(duì)某個(gè)分區(qū)指定compress屬性),只不過(guò)分區(qū)依賴(lài)列不能是lob,long之類(lèi)數(shù)據(jù)類(lèi)型,每個(gè)表的分區(qū)或子分區(qū)數(shù)的總數(shù)不能超過(guò)1023個(gè)。

      對(duì)于索引組織表,只能夠支持普通分區(qū)方式,不支持組合分區(qū),常規(guī)表的限制對(duì)于索引組織表同樣有效,除此之外呢,還有一些其實(shí)的限制,比如要求索引組織表的分區(qū)依賴(lài)列必須是主鍵才可以等。

      注:本篇所有示例僅針對(duì)常規(guī)表,即堆組織表!

      對(duì)于索引,需要區(qū)分創(chuàng)建的是全局索引,或本地索引:

      l 全局索引(global index):即可以分區(qū),也可以不分區(qū)。即可以建range分區(qū),也可以建hash分區(qū),即可建于分區(qū)表,又可創(chuàng)建于非分區(qū)表上,就是說(shuō),全局索引是完全獨(dú)立的,因此它也需要我們更多的維護(hù)操作。

      l 本地索引(local index):其分區(qū)形式與表的分區(qū)完全相同,依賴(lài)列相同,存儲(chǔ)屬性也相同。對(duì)于本地索引,其索引分區(qū)的維護(hù)自動(dòng)進(jìn)行,就是說(shuō)你add/drop/split/ truncate 表的分區(qū)時(shí),本地索引會(huì)自動(dòng)維護(hù)其索引分區(qū)。

       Oracle 建議如果單個(gè)表超過(guò)2G就最好對(duì)其進(jìn)行分區(qū),對(duì)于大表創(chuàng)建分區(qū)的好處是顯而易見(jiàn)的,這里不多論述why,而將重點(diǎn)放在when以及how。

      WHEN

      一、When使用Range分區(qū)

      Range分區(qū)呢是應(yīng)用范圍比較廣的表分區(qū)方式,它是以列的值的范圍來(lái)做為分區(qū)的劃分條件,將記錄存放到列值所在的range分區(qū)中,比如按照時(shí)間劃分,2008年1季度的數(shù)據(jù)放到a分區(qū),08年2季度的數(shù)據(jù)放到b分區(qū),因此在創(chuàng)建的時(shí)候呢,需要你指定基于的列,以及分區(qū)的范圍值,如果某些記錄暫無(wú)法預(yù)測(cè)范圍,可以創(chuàng)建maxvalue分區(qū),所有不在指定范圍內(nèi)的記錄都會(huì)被存儲(chǔ)到maxvalue所在分區(qū)中,并且支持指定多列做為依賴(lài)列,后面在講how的時(shí)候會(huì)詳細(xì)談到。

      二、When使用Hash分區(qū)

      通常呢,對(duì)于那些無(wú)法有效劃分范圍的表,可以使用hash分區(qū),這樣對(duì)于提高性能還是會(huì)有一定的幫助。hash 分區(qū)會(huì)將表中的數(shù)據(jù)平均分配到你指定的幾個(gè)分區(qū)中,列所在分區(qū)是依據(jù)分區(qū)列的hash值自動(dòng)分配,因此你并不能控制也不知道哪條記錄會(huì)被放到哪個(gè)分區(qū)中,hash分區(qū)也可以支持多個(gè)依賴(lài)列。

      三、When使用List分區(qū)

      List分區(qū)與range分區(qū)和hash分區(qū)都有類(lèi)似之處,該分區(qū)與range分區(qū)類(lèi)似的是也需要你指定列的值,但這又不同與range分區(qū)的范圍式列值---其分區(qū)值必須明確指定,也不同與hash分區(qū)---通過(guò)明確指定分區(qū)值,你能控制記錄存儲(chǔ)在哪個(gè)分區(qū)。它的分區(qū)列只能有一個(gè),而不能像range或者h(yuǎn)ash分區(qū)那樣同時(shí)指定多個(gè)列做為分區(qū)依賴(lài)列,不過(guò)呢,它的單個(gè)分區(qū)對(duì)應(yīng)值可以是多個(gè)。

      你在分區(qū)時(shí)必須確定分區(qū)列可能存在的值,一旦插入的列值不在分區(qū)范圍內(nèi),則插入/更新就會(huì)失敗,因此通常建議使用list分區(qū)時(shí),要?jiǎng)?chuàng)建一個(gè)default分區(qū)存儲(chǔ)那些不在指定范圍內(nèi)的記錄,類(lèi)似range分區(qū)中的maxvalue分區(qū)。

      四、When使用組合分區(qū)

      如果某表按照某列分區(qū)之后,仍然較大,或者是一些其它的需求,還可以通過(guò)分區(qū)內(nèi)再建子分區(qū)的方式將分區(qū)再分區(qū),即組合分區(qū)的方式。

      組合分區(qū)呢在10g中有兩種:range-hash,range-list。注意順序喲,根分區(qū)只能是range分區(qū),子分區(qū)可以是hash分區(qū)或list分區(qū)。

      提示:11g在組合分區(qū)功能這塊有所增強(qiáng),又推出了range-range,list-range,list-list,list-hash,這就相當(dāng)于除hash外三種分區(qū) ?

    創(chuàng)建range-hash組合分區(qū)

      語(yǔ)法如下:圖

      

      需要我們指定的有:

       column_list:分區(qū)依賴(lài)列(支持多個(gè),中間以逗號(hào)分隔);

       ?subpartition:子分區(qū)方式,有兩處:

       Subpartition_by_list:語(yǔ)法與list分區(qū)完全相同,只不過(guò)把關(guān)鍵字partition換成subpartition

       ?Subpartition_by_hash:語(yǔ)法與hash分區(qū)完全相同,只不過(guò)把關(guān)鍵字partition換成subpartition

       ?partition:分區(qū)名稱(chēng);

       ?range_partition_values_clause:與range分區(qū)范圍值的語(yǔ)法;

       tablespace_clause:分區(qū)的存儲(chǔ)屬性,例如所在表空間等屬性(可為空),默認(rèn)繼承基表所在表空間的屬性。

      組合分區(qū)相對(duì)于普通分區(qū),語(yǔ)法上稍稍復(fù)雜了一些,但也正因如此,其子分區(qū)的創(chuàng)建可以非常靈活,下面分別舉幾個(gè)例子(注:僅示例,并非窮舉所有形式)

      ① 為所有分區(qū)各創(chuàng)建4個(gè)hash子分區(qū)


       ?create?table?t_partition_rh?(id?number,name?varchar2(50))
       partition?by?range(id)?subpartition?by?hash(name)
       ?subpartitions?4?store?in?(tbspart01,?tbspart02,?tbspart03,tbspart04)(
       partition?t_r_p1?values?less?than?(10)?tablespace?tbspart01,
       ?partition?t_r_p2?values?less?than?(20)?tablespace?tbspart02,
       ?partition?t_r_p3?values?less?than?(30)?tablespace?tbspart03,
       ?partition?t_r_pd?values?less?than?(maxvalue)?tablespace?tbspart04);
      表已創(chuàng)建。

    posted on 2008-07-09 17:14 Peter Pan 閱讀(906) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): DB
    主站蜘蛛池模板: 亚洲色大成网站www尤物| selaoban在线视频免费精品| 国产精品成人四虎免费视频| 中文字幕a∨在线乱码免费看 | 波多野结衣一区二区免费视频| 亚美影视免费在线观看| 亚洲日本乱码一区二区在线二产线| 免费视频淫片aa毛片| 日韩免费高清播放器| 亚洲乱码国产乱码精华| 亚洲s色大片在线观看| 在线免费一区二区| 久久国产免费观看精品| 亚洲国产成人无码AV在线| 亚洲国产成人久久综合碰碰动漫3d | 久久亚洲综合色一区二区三区| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 国产啪亚洲国产精品无码| 51视频精品全部免费最新| 美女免费视频一区二区| 亚洲黄色在线网站| 亚洲区小说区图片区| 免费在线观看的网站| 日本在线免费观看| 乱淫片免费影院观看| 国产成+人+综合+亚洲专| 国产成人亚洲综合色影视| 国产国产成年年人免费看片| 久久久免费的精品| 一个人看的免费高清视频日本| 亚洲一区二区免费视频| 亚洲av无码国产精品夜色午夜| 免费v片在线观看| 最近免费中文字幕4| 九九精品成人免费国产片| 大片免费观看92在线视频线视频| 91丁香亚洲综合社区| 亚洲网址在线观看你懂的| 国产亚洲人成A在线V网站| 国产女高清在线看免费观看| 成人浮力影院免费看|