oracle_根据ID(字符型)建立分区表

系统 1962 0

方案思路:有一张暴增的数据表(10亿级别),以后需求需要提高单条查询性能, 这个表有个唯一ID,

假设是UUID,采用区分首字母的方法,不同字母的数据入到不同的物理文件中。 

第一步:

查找数据库服务器本机 物理文件存放位置 例如 ,D:\oracle\product\10.2.0\oradata\database  

在此目录下新建文件夹  partition   。用于存放分区表 下不同表空间的dbf(物理文件)。

oracle_根据ID(字符型)建立分区表

第二步: 

建立分区表需要的表空间 。

CREATE  TABLESPACE tablespace_a  LOGGING  DATAFILE  'D:\oracle\product\10.2.0\oradata\database\partition\tablespace_a_0.DBF '   SIZE 10M  AUTOEXTEND  ON   NEXT  10M MAXSIZE 100M  EXTENT MANAGEMENT LOCAL;

 

CREATE  TABLESPACE tablespace_b  LOGGING  DATAFILE  'D:\oracle\product\10.2.0\oradata\database\partition\tablespace_b_0.DBF '   SIZE 10M  AUTOEXTEND  ON   NEXT  10M MAXSIZE 100M  EXTENT MANAGEMENT LOCAL;

第三步:

建立分区表

      ---create by cphmvp  20131220

create table tab_page_relation_partition

(

 

  UNIQUE_ID         CHAR(32) not null,

  DATA_ID           CHAR(32),

  NICK_ID           NUMBER,

  URL               VARCHAR2(512),

  UPDATE_TIME       DATE,

  INSERT_TIME       DATE default sysdate not null,

  LAST_CRAWLER_TIME DATE,

  MARK              NUMBER default 0 not null

)

--根据unique_id区分 数据,逻辑上独立,物理上分开 

partition by range(UNIQUE_ID)

(

  partition part_a values less than('b') tablespace tablespace_a,

  partition part_b values less than(maxvalue) tablespace tablespace_b

 

);


    

 四:

插入测试

INSERT INTO tab_page_relation_partition (unique_id) VALUES('accccccccccc');

INSERT INTO tab_page_relation_partition (unique_id) VALUES('bccccccccccc');

INSERT INTO tab_page_relation_partition (unique_id) VALUES('cccccccccccc');

commit;

查询:

SELECT * FROM tab_page_relation_partition ;
select*from tab_page_relation_partition PARTITION(PART_A);
select*from tab_page_relation_partition PARTITION(PART_B);

五:

清理工作 

删除表

DROP TABLE tab_page_relation_partition;

删除物理文件含表空间

DROP TABLESPACE TABLESPACE_A INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE TABLESPACE_B INCLUDING CONTENTS AND DATAFILES;

 

 

oracle_根据ID(字符型)建立分区表


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论