hujysh 发表于 2012-04-18 10:54

oracle大表并行建PK,你会吗?

本帖最后由 hujysh 于 2012-04-18 10:55 编辑

oracle版本 10.2.0.3.0
OS   HP-UX B.11.31

已经有一个大表,约500G数据量,无INDEX,无CONSTRAINT
现在希望在其一个字段上建 primary key

有没有什么快速的方法? 请教前辈高人。

我试过以下办法,都不能并行:

方法1, 直接建PK
   alter table TABNAME add constraint TABNAME_PK PRIMARY KEY(colname) parallel 32;
方法2, 先建unique index再建PK
   建unique index时可以并行,但是
     alter table TABNAME add constraint TABNAME_PK PRIMARY KEY(colname) using index TABNAME_UIparallel 32;
      加PK的时候还是慢,没有并行。
方法3, 先在该字段建 unique index  -- 可以并行
      再在该字段建 not null的约束 -- 不并行,很慢
   在该字段建PK  -- 由于上面慢,这步未实施
方法4, 在建表的时候就建好not null的约束,再插入数据
   之后,在该字段建 unique index  -- 可以并行
   在该字段建PK  -- 还是很慢,也没有并行


页: [1]
查看完整版本: oracle大表并行建PK,你会吗?