Prev: Resolved ORA-27302 error, but how to fix?
Next: OracleStartORCL(STRTDB73.EXE) error at Windows XP / Windows 2003
From: Steve Howard on 22 Apr 2005 00:33 I have a statement as below: INSERT /*+ APPEND */ INTO emp SELECT /*+ PARALLEL (temp_emp, 4) */ FROM temp_emp As you can see, SELECT is set to perform in 4 processes. Will the insert also be executed by 4 parallel processes without the explicit PARALLEL hint in the insert clause, since the select is done in parallel? Or do I have to add the parallel hint in the insert clause also as below? INSERT /*+ APPEND PARALLEL(emp, 4) */ INTO emp SELECT /*+ PARALLEL (temp_emp, 4) */ FROM temp_emp Thanks in advance.
From: R.S. on 22 Apr 2005 14:51
hello Steve, It's one operation and it works like this: INSERT /*+PARALLEL (EMP, 4) */ into EMP select * from temp_emp Take a look at Rollback/undo segs and you'll notice the Parallel hint does a direct write just like the APPEND. Set table Emp to nologging for the best speed; and do a commit (or rollback ) right afterwards. And perhaps ALTER SESSION ENABLE PARALLEL DML before ? Cheers Roelof, DBA "Steve Howard" schreef ... > I have a statement as below: > > INSERT /*+ APPEND */ INTO emp > SELECT /*+ PARALLEL (temp_emp, 4) */ FROM temp_emp > > As you can see, SELECT is set to perform in 4 processes. Will the > insert also be executed by 4 parallel processes without the explicit > PARALLEL hint in the insert clause, since the select is done in > parallel? Or do I have to add the parallel hint in the insert clause > also as below? > > INSERT /*+ APPEND PARALLEL(emp, 4) */ INTO emp > SELECT /*+ PARALLEL (temp_emp, 4) */ FROM temp_emp > > Thanks in advance. |