Re: 9.2 - Parallel Query Not Working

  • From: "Greg Rahn" <greg@xxxxxxxxxxxxxxxxxx>
  • To: tony.adolph.dba@xxxxxxxxx
  • Date: Thu, 27 Mar 2008 15:03:02 -0700

On Thu, Mar 27, 2008 at 1:51 PM, Tony Adolph <tony.adolph.dba@xxxxxxxxx> wrote:
>   You'll only get parallel table access for full table scans, .i.e. the
>   table is not accessed via index lookup.

If you are saying that only FTS run in parallel, and not index access,
that is not a correct statement.  Index access can be parallelized.

Here is a execution plan where the table is accessed via index lookup
(rowids gotten from the index scan). Both the index and table access
are parallel.

SELECT * FROM FACT_TABLE
WHERE KEY_FACT_ID>=69329730003700001 AND
      KEY_FACT_ID"<=69329730003700010

-----------------------------------------------------------------------------------------
| Id  | Operation                            | Name        |    TQ
|IN-OUT| PQ Distrib |
-----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                     |             |        |
    |            |
|   1 |  PX COORDINATOR                      |             |        |
    |            |
|   2 |   PX SEND QC (RANDOM)                | :TQ10000    |  Q1,00 |
P->S | QC (RAND)  |
|   3 |    PX PARTITION HASH ALL             |             |  Q1,00 |
PCWC |            |
|   4 |     TABLE ACCESS BY LOCAL INDEX ROWID| FACT_TABLE  |  Q1,00 |
PCWP |            |
|   5 |      INDEX RANGE SCAN                | FACT_PK     |  Q1,00 |
PCWP |            |
-----------------------------------------------------------------------------------------

 Predicate Information (identified by operation id):
---------------------------------------------------

  5 - access("KEY_FACT_ID">=69329730003700001 AND
             "KEY_FACT_ID"<=69329730003700010)


-- 
Regards,

Greg Rahn
http://structureddata.org
--
//www.freelists.org/webpage/oracle-l


Other related posts: