Re: Enable Parallel DML or Not?

  • From: Greg Rahn <greg@xxxxxxxxxxxxxxxxxx>
  • To: kjped1313@xxxxxxxxx
  • Date: Thu, 8 Oct 2009 11:11:07 -0700

A CTAS is DDL and does not require PDML to be enabled.  You may want
to consider NOLOGGING as well.  I'm not sure if it matters but I would
just use "parallel 16" not "parallel(degree 16)" - its what I use and
I know it works.

My guess is that operations in the query itself are gating the
throughput, not anything to do with the parallel table creation writes
to the table.  Easy to tell: just wrap your select with a "select
count(*) from (...)".

I you want more insight you will have to post the execution plan and
full sql text.

On Thu, Oct 8, 2009 at 10:22 AM, Kellyn Pedersen <kjped1313@xxxxxxxxx> wrote:
> I've been adding hints to broadcast on one table only and that has taken care 
> of some of the hash-hash issues that have occurred in some instances, but 
> most of the time, (I used the DDL below as just an example of what most of 
> the code looks like here...) this has not been the issue and we still are 
> seeing the parallel slaves being distributed only for the select and not for 
> the table creation.
> I was hoping someone else had fully tested to verify that in no way could a 
> CTAS fall into the requirement of needing parallel_dml enabled-  just in case 
> today is the day that logic has gone out the window-  it's happened 
> before...:)

Greg Rahn

Other related posts: