Oracle大数据表的分表处理

时间:2022-05-14 16:11:15

1.首先给大数据表创建rownum序列号

--增加序列号字段
alter table TEST add xlh number;
--填充序列号
update TEST set xlh = rownum;

2.通过xlh字段进行分数据到不同的表中(以建表的方式进行处理)

create table hik_1001 as select clm1 as hik_clm1,clm2 as hik_clm2,clm3 as hik_clm3 from TEST where   xlh>=1 and xlh <=5000000;

create table hik_1002 as select clm1 as hik_clm1,clm2 as hik_clm2,clm3 as hik_clm3 from TEST where   xlh>=5000001 and xlh <=10000000;

create table hik_1003 as select clm1 as hik_clm1,clm2 as hik_clm2,clm3 as hik_clm3 from TEST where   xlh>=10000001 and xlh <=15000000;

create table hik_1004 as select clm1 as hik_clm1,clm2 as hik_clm2,clm3 as hik_clm3 from TEST where   xlh>=15000001;

3.给创建的表分别建立主键或者索引

create index hik_1001_index on HIK_1001  (HIK_CLM2)

alter table HIK_1001  add constraint HIK_1001_PKEY primary key (HIK_CLM1)

如果数据有重复的话,只需要建立索引就可以.

4.然后对分表后的数据进行处理