From:Steve Adams
Date:24-Aug-2000 23:56
Subject:   Degree of parallelism


Thanks for the confirmation.


-----Original Message-----
Sent: Thursday, 24 August 2000 23:05


This methods seems to be really quick.
I have inserted 5 million records in 62 seconds using the method you sugested.
Thanks again for all your help


-----Original Message-----


First check V$RESOURCE_LIMIT to make sure that you are not hitting the
PARALLEL_MAX_SERVERS limit. Then try this ...

  alter session enable parallel dml;
  insert /*+ append parallel(bpt, 10) nologging */
  into bill_product_temp bpt
  select /*+ parallel(bp, 10) */ *
  from bill_product bp;


-----Original Message-----
Sent: Thursday, 24 August 2000 18:21


I am trying to test various ways of copying a partitioned table
to gain the best throughput.
I have a partitioned table with 5 million records in it.
I have made a copy of that table with no records in it.
The tables are created with degree of parallelism of 4.

I tried to copy this table
    insert into BILL_PRODUCT_TEMP select * from BILL_PRODUCT;
This takes 210 seconds to insert the 5 million records.

I have used a hint to speed up the insert
    insert /*+ APPEND */ into BILL_PRODUCT_TEMP select * from BILL_PRODUCT;
This takes 100 seconds to insert the 5 million records.
Quite impressed

I have tried to change the degree of parallelism from 4 to 2, 10, 16.
It has no effect on the time to insert the 5 million records.
Could you explain this please?

We are using a tool called Precise SQL.
The degree os parallelism is 4 no matter what we change the degree of
parallelism to when we create the table.
Is there maybe a init.ora parameter that restricts the parallel DML operation?

What would be the most quickest way to insert the records into a table?
I have tried to insert into each partition seperately
and that took the fastest as expected.
Cause it is writing to the 10 partitions all at once.

Is there a way to do this (write to all partitions at once) with a hint?