Oracle分区表,哈希分区的新建与增加

来源:互联网 发布:人工智能会议 2017 编辑:程序博客网 时间:2024/06/15 08:29

一、背景知识

Oralce中的一张表数据量达到亿数量级后或是单表达到2G大小,查询效率似乎会明显下降。需要通过分区的方式,从行的维度对表进行划分,避免单表数据量过大

分区方法有下面几类:

  • 范围,最常见,按照某列数据的范围分区,比如按时间分区
  • 哈希,对于数据规律性不强,或者取值范围难以确定的,推荐哈希法,强行进行分区。分区个数需设置成2的幂次
  • 列表,类似枚举,需事先知道字段的精确值
  • 混合,上述各种组合

oracle 11g又新增了几种分区方法,如下:

  • 引用分区,父表的外键作为关键字建立分区,则子表可以以同样的方式分区
  • 虚拟列分区,通过表中字段的运算结果进行分区
  • 间隔分区,范围分区的变种,范围固定且分区可自动扩展
  • 系统分区,insert和select时,全完手工指定分区

参考资料:http://space.itpub.net/7607759/viewspace-260278

http://tech.it168.com/db/2008-03-24/200803241734089.shtml

二、新建分区

这里就写下在线重定义的方法,离线的就不写了。

1.新建一张表

CREATE TABLE T_HASH (ID NUMBER PRIMARY KEY, TIME DATE);

2.往里面插测试数据

3.测试权限

EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(userName, 'T_HASH', DBMS_REDEFINITION.CONS_USE_PK);

如果提示没有权限,通过dba账户添加当前账户权限,或者直接用dba账户操作

4.建一个与原表结构一样的临时表,需在临时表建分区

CREATE TABLE T_TMP (ID NUMBER PRIMARY KEY, TIME DATE)partition by hash (ID)(  partition p1 tablespace spaceName,  partition p2 tablespace spaceName,);

5. 在线重定义

表的在线重定义

EXEC DBMS_REDEFINITION.START_REDEF_TABLE(userName, 'T_HASH', 'T_TMP');

数据同步,保证操作过程中,临时表和原表的数据一致性

execute dbms_redefinition.sync_interim_table(userName,'T_HASH','T_TMP');

执行结束

EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE(userName, 'T_HASH', 'T_TMP');

6.检查结果

SELECT COUNT(1) FROM T_HASH;SELECT COUNT(1) FROM T_HASH PARTITION (P1);SELECT COUNT(1) FROM T_HASH PARTITION (P2);

7.删除临时表

参考资料:http://www.blogjava.net/willpower88/archive/2007/04/19/111987.html

三、增加分区

对于哈希分区,一条SQL搞定:

ALTER TABLE tableName ADD PARTITION partitionName;
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 猎豹cs9怎么打不开车门怎么办 孩子在学校被老师冤枉打板子怎么办 么司福利体检暗地查乙肝怎么办 上体育课时被老师罚了腿疼怎么办 义务兵学技术不好班长打他怎么办 耳朵被打了一巴掌听不见了怎么办 耳朵被打了一巴掌后有点闷怎么办 山东省教育云平台密码戳完怎么办 被舍友知道发朋友圈说她们了怎么办 苍蝇药水进眼里了眼睛疼怎么办 三十六周了胎儿还没有入骨盆怎么办 怀孕40周了宝宝还没反应怎么办 程序员不知道自己犯法了怎么办啊 大学档案学年测评有涂改痕迹怎么办 驼背怎么办要能快速矫正的方法 手臂往后扭后手臂根部疼又肿怎么办 一岁四个月宝宝有点斜颈怎么办? 六个月的宝宝脖子有点歪怎么办 情感交叉擦腿综合症心里治疗怎么办 坐月子受风了胳膊腿疼怎么办 劲椎手术两个月双腿疼痛麻这怎么办 手机里存的照片删除了怎么办 买了好几双鞋子都不防滑怎么办 电脑平车车加绒过厚不起线怎么办 碰见那种看不起人的店员应该怎么办 在食品厂上班載卫生帽头发痒怎么办 工司没给员工上保险离职后怎么办 货物被香港律政司扣了怎么办 室友考研要跟我考一样的学校怎么办 药流第一天才吃了一粒米非司怎么办 药流半月同房第二天大出血怎么办 口臭想让它变得不臭怎么办 来单位干了几天不满意想离职怎么办 药流吃药期间吃什么吐什么怎么办 养狗家里味道大怎么办养花有用吗 第一天上班站的脚疼怎么办 入职没有人事所需要的证书怎么办 入职第一天后不想去了怎么办 警察在执法过程中殴打群众怎么办 肾结石打了3天针痛得厉害怎么办 征兵体检过了到部队退兵怎么办