Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> 8i hash update parallel query

8i hash update parallel query

From: JeffV <jeffv27982_at_aol.com>
Date: 27 Nov 2006 12:19:44 -0800
Message-ID: <1164658784.151194.99150@l12g2000cwl.googlegroups.com>


Hello All,

Fairly new to Oracle (old Sybase guy). Using Oracle 8i. Trying to get an update to run in parallel against a table. Partitioned the table 4 ways using hash partitioining. Please see the following query/plan. I am trying to determine if this query is actually running in parallel or not from the plan? If it is not, what might be preventing it from running in parallel? I would expect Oracle would kick off one thread to update each of the four partitions of the sales_tran_detail table.

Appreciated,

Jeff

UPDATE /*+ PARALLEL(sd, 4) */ SALES_TRAN_DETAIL_HASH SD

   SET PRI_PUBLISHER_CALC_STATUS_CD = DECODE(9, 1, PUBLISHER_CALC_STATUS_CD, 4, PUBLISHER_CALC_STATUS_CD, 7, PUBLISHER_CALC_STATUS_CD, 10, PUBLISHER_CALC_STATUS_CD, PRI_PUBLISHER_CALC_STATUS_CD),
       PUBLISHER_CALC_STATUS_CD = '10', --If Monthly/Quarterly, then 'DROPOUT'

       PUBLISHER_CALC_STAT_CHANGE_DT = '30-SEP-2006',
       PUBLISHER_PROCESS_PERIOD_DT = '30-SEP-2006'
 WHERE PUBLISHER_CALC_STATUS_CD IN ('09', '10', '30', '50')
   AND EXISTS (SELECT 1
                 FROM SALES_TRAN_HEADER SH,
                      MCEF_INPUT_RPUPSALE MCEF
                WHERE SH.SALES_PERIOD_DT <= '30-SEP-2006'
                  AND SD.SALES_PERIOD_DT = SH.SALES_PERIOD_DT
                  AND SD.BATCH_ID = SH.BATCH_ID
                  AND SD.AFFILIATE_ID = SH.AFFILIATE_ID
                  AND MCEF.DATAFILE_CD = 'D' -- Records in Error
                  AND MCEF.BATCH_ID IN ('      ', SH.BATCH_ID)
                  AND MCEF.ALT_COPYRIGHT_IN = 'N'
                  AND SH.DISTRIBUTION_METHOD_CD =
MCEF.DISTRIBUTION_METHOD_CD
                  AND SH.AFFILIATE_ID = MCEF.AFFILIATE_ID
                  AND SD.AFFILIATE_ID = MCEF.AFFILIATE_ID
                  AND SD.CATLG_CORE_ID = MCEF.CATLG_CORE_ID
                  AND SD.CATLG_PFIX_ID = MCEF.CATLG_PFIX_ID)


EXPLAIN PLAN from QUEST:

1 Every row in the table Partitions accessed #1 - #4 is read. 2 All partitions of steps 1 were accessed.. 3 Rows were retrieved using the unique index PRD1.SALES_TRAN_HEADER_P. 4 Rows from table PRD1.SALES_TRAN_HEADER were accessed using rowid got from an index.
5 One or more rows were retrieved using index PRD1.MCEF_INPUT_RPUPSALE_N1. The index was scanned in ascending order. 6 For each row retrieved by step 4, the operation in step 5 was performed to find a matching row.
7 For the rows returned by step 6, filter out rows depending on filter criteria.
8 For the rows returned by step 2, filter out rows depending on filter criteria.
9 Rows were updated.
10 Rows were updated. Received on Mon Nov 27 2006 - 14:19:44 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US