即興的靈感

          思維是一種藝術; 藝術需要靈感。

          博客好友

          最新評論

          Oracle表分區總結

          ??? 今天國慶節,愿大家玩得開心,好好放松!
          ??? 我也想好好放松,到各地旅游,到世界每個地方...
          ??? 但...
          ??? ...繼續努力!!!

          ???
          不多說題外話了,進入今天主題,如題,今天對Oracle中表分區機制作個總結。

          ?? Oracle中提供了對表進行分區的機制,通過表分區,可以將表空間中數據按照某種方式分別存放到特定的分區中。
          表分區的作用:平衡 IO 操作,分區均勻,提高效率。

          ?? Oracle中表分區方法有:范圍分區法、散列分區法、復合分區法、列表分區法。

          ?范圍分區:
          語法
          Partition? by? range (); 適合數值型或日期型
          ?
          示例:
          ?1?create?table ?Student
          ?2
          (
          ?3?????Studentid?integer?not?null
          ,
          ?4?????Studentname?varchar2(20
          ),
          ?5?????Score?integer

          ?6 )
          ?7?Partition?by
          ?range(Score)
          ?8
          (
          ?9?????Partition?p1?values?less?than(60
          ),
          10?????Partition?p2?values?less?than(75
          ),
          11?????Partition?p3?values?less?than(85
          ),
          12?????Partition?p4?values
          ?less?than(maxvalue)
          13 );


          ? 散列分區法: 根據Oracle內部散列算法存儲,語法 Partition by hash();
          ?
          實例:
          ?1?create?table ?department
          ?2?
          (
          ?3?????Deptno?int
          ,
          ?4?????Deptname?varchar2(24
          )
          ?5?
          )
          ?6?Partition?by
          ?hash(deptno)
          ?7?
          (
          ?8?
          ????Partition?p1,
          ?9?
          ????Partition?p2
          10?);


          ? 復合分區法:由上面兩種方法復合而成
          ? 示例:

          ?1?create?table ?salgrade
          ?2?
          (
          ?3?????grade?number
          ,
          ?4?????losal?number
          ,
          ?5?????hisal?number

          ?6? )
          ?7?Partition?by
          ?range(grade)
          ?8?Subpartition?by
          ?hash(losal,hisal)
          ?9?
          (
          10?????Partition?p1?values?less?than(10
          ),
          11?
          ??????(subpartition?sp1,subpartition?sp2),
          12?????Partition?p2?values?less?than(20
          ),
          13?
          ??????(subpartition?sp3,subpartition?sp4)
          14?)


          ? 列表分區法: 適合字符型 語法 Partition? by ?list()
          ? 實例:

          ?1?create?table ?customer
          ?2?
          (
          ?3?????custNo?int
          ,
          ?4?????custname?varchar(20
          ),
          ?5?????custState?varchar(20
          )
          ?6?
          )
          ?7?Partition?by
          ?list(custState)
          ?8?
          (
          ?9?????Partition?saia?values('中國','韓國','日本'
          ),
          10?????Partition?Europe?values('英國','俄國','法國'
          ),
          11?????Partition?ameria?values('美國','加拿大','墨西哥'
          ),
          12?
          );
          13?????


          表分區維護:

          添加分區:alter table student add partition p5 values less than(120);
          刪除分區:alter table student drop partition p4;
          截斷分區:alter table student truncate partition p5;
          合并分區:alter table student merge partitions p3,p4 into partition p6;
          ? (轉載請注明出處)?


          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調華麗/簡單生活/完美人生

          posted on 2007-10-01 18:00 poetguo 閱讀(5631) 評論(4)  編輯  收藏 所屬分類: Oracle

          評論

          # re: Oracle表分區總結 2007-10-01 20:02 flybean

          準確地說,ORACLE中是分區表  回復  更多評論   

          # re: Oracle表分區總結 2007-10-01 21:27 improviser

          回樓上,在有關網上查詢了一下,普遍都是表分區的說法,概念性的東西還真的有爭論的趣味。。。  回復  更多評論   

          # re: Oracle表分區總結 2008-09-22 14:24 110

          謝謝了,  回復  更多評論   

          # re: Oracle表分區總結 2008-12-26 16:48 qooler

          賽!  回復  更多評論   

          主站蜘蛛池模板: 鄂尔多斯市| 郁南县| 台南市| 汝南县| 百色市| 大连市| 靖远县| 兰溪市| 孝昌县| 县级市| 临洮县| 余姚市| 龙岩市| 新民市| 铁岭县| 甘南县| 夏津县| 柯坪县| 酒泉市| 永昌县| 自治县| 淮安市| 绩溪县| 灵丘县| 泽库县| 秭归县| 庐江县| 图木舒克市| 乌鲁木齐县| 陆河县| 桐城市| 瑞丽市| 沈丘县| 水富县| 桦南县| 奉化市| 汕头市| 堆龙德庆县| 益阳市| 双柏县| 延长县|