Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> 8i hash update parallel query
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