| 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
![]() |
![]() |