we have disabled the Fix control to correct the cost calculation with the parallel query's.
DB version 12.2.0.1.0 , parallel_degree_policy is auto
when i run the query from UI the fix control is not applying and the query is running serially taking about 60 sec - The query when i run
from SQLPLUS , I can see the fix control in outline , query is running in parallel and finishing in 2 sec -
alter system set "_fix_control" = '9102474:0' scope = both sid = '*'
SQLTEXT:
SELECT
*
FROM
(
SELECT /*+ FIRST_ROWS(99) */
rnm.*,
ROWNUM rnum
FROM
(
SELECT
ktb.x_1_seq_id ffw$_4,
masked.fn_get_prud_qsn_response_count(ktb.x_1_seq_id) ffw$_555,
TO_CHAR(ktb.x_1_dt,'mm/dd/yyyy') ffw$_41,
(
SELECT
kcst.code_disp_tx
FROM
masked.kdd_code_set_trnln kcst
WHERE
kcst.code_set = 'x_1BlotterStatus'
AND kcst.code_val = ktb.x_1_blttr_status_cd
) ffw$_113,
ktb.score_ct ffw$_8,
(
SELECT
LISTAGG(kta.attr_type_cd,',') WITHIN GROUP(
ORDER BY
kta.attr_rank_nb
)
FROM
masked.kdd_x_1_attribute kta
WHERE
kta.x_1_seq_id = ktb.x_1_seq_id
) ffw$_6,
(
SELECT
CASE
WHEN COUNT(ktr.review_id) = 1 THEN to_number(
LISTAGG(ktr.review_id,',') WITHIN GROUP(
ORDER BY
1
)
)
ELSE COUNT(ktr.review_id)
END
FROM
masked.kdd_x_1_review ktr
WHERE
ktr.x_1_seq_id = ktb.x_1_seq_id
) ffw$_101,
(
SELECT
emp.full_nm
FROM
masked.emp
WHERE
ktb.x_1_orig_id = emp.emp_intrl_id
) ffw$_10,
(
SELECT
cust.first_nm
|| ' '
|| cust.last_nm
FROM
masked.cust
WHERE
cust_intrl_id = ktb.cust_intrl_id
) ffw$_102,
ktb.last_cust_acct_intrl_id ffw$_18,
(
SELECT
kcst.code_disp_tx
FROM
masked.kdd_code_set_trnln kcst
WHERE
kcst.code_set = 'ProductCategory'
AND kcst.code_val = ktb.prdct_ctgry_cd
) ffw$_14,
ktb.scrty_shrt_nm ffw$_12,
CASE
WHEN ktb.cust_buy_sell_cd = '1'
AND ktb.tb_exchange = 1 THEN 'Buy Exchange'
WHEN ktb.cust_buy_sell_cd = '2'
AND ktb.tb_exchange = 1 THEN 'Sell Exchange'
WHEN ktb.cust_buy_sell_cd = '1'
AND ( ktb.tb_exchange != 1
OR ktb.tb_exchange IS NULL ) THEN (
SELECT
kcst.code_disp_tx
FROM
masked.kdd_code_set_trnln kcst
WHERE
kcst.code_set = 'BuySellCode'
AND kcst.code_val = ktb.cust_buy_sell_cd
)
WHEN ktb.cust_buy_sell_cd = '2'
AND ( ktb.tb_exchange != 1
OR ktb.tb_exchange IS NULL ) THEN (
SELECT
kcst.code_disp_tx
FROM
masked.kdd_code_set_trnln kcst
WHERE
kcst.code_set = 'BuySellCode'
AND kcst.code_val = ktb.cust_buy_sell_cd
)
ELSE ''
END ffw$_20,
ktb.tb_io ffw$_28,
ktb.tb_solcn_fl ffw$_111,
ktb.x_1_intrl_id ffw$_30,
(
SELECT
acct.acct_dsply_nm
FROM
masked.acct
WHERE
acct.acct_intrl_id = ktb.last_cust_acct_intrl_id
) ffw$_16,
ktb.prod_type_cd ffw$_103,
ktb.prod_sub_type_cd ffw$_104,
'-' ffw$_32,
'-' ffw$_106,
ktb.x_1_orig_id ffw$_107,
DECODE(ktb.x_1_blttr_status_cd,'RVW',TO_CHAR(ktb.status_dt,'mm/dd/yyyy'),NULL) ffw$_108,
ktb.scrty_cusip_id ffw$_109,
1 ffw$_110,
ktb.scrty_desc_tx ffw$_36,
ktb.tb_account_class ffw$_42,
ktb.last_x_1_unit_qt ffw$_22,
( CASE
WHEN ktb.last_x_1_prnpl_issng_am = '0' THEN '0.00'
WHEN ktb.last_x_1_prnpl_issng_am != '0' THEN TO_CHAR(ktb.last_x_1_prnpl_issng_am,'999,999,999,999,999,999.99'
)
END ) ffw$_26,
( CASE
WHEN ktb.last_x_1_issng_pr = '0' THEN '0.00'
WHEN ktb.last_x_1_issng_pr != '0' THEN TO_CHAR(ktb.last_x_1_issng_pr,'999,999,999,999,999,999.99')
END ) ffw$_24,
ktb.prdct_ctgry_cd ffw$_2,
ktb.x_1_blttr_status_cd ffw$_3,
(
SELECT
CASE
WHEN COUNT(ktr.review_id) = 1 THEN 1
ELSE 2
END
FROM
masked.kdd_x_1_review ktr
WHERE
ktr.x_1_seq_id = ktb.x_1_seq_id
) ffw$_112,
ktb.req_analysis_fl ffw$_5,
( CASE
WHEN ktb.tb_last_cmsn_issng_am = '0' THEN '0.00'
WHEN ktb.tb_last_cmsn_issng_am != '0' THEN TO_CHAR(ktb.tb_last_cmsn_issng_am,'999,999,999,999,999,999.99'
)
END ) ffw$_37,
TO_CHAR(ktb.tb_last_stlmt_dt,'mm/dd/yyyy') ffw$_40,
ktb.tb_solcn_fl ffw$_38,
'-' ffw$_34,
ktb.tb_account_class ffw$_501,
ktb.tb_order_type ffw$_502,
(
SELECT
emp.full_nm
FROM
masked.emp
WHERE
ktb.x_1_orig_id = emp.emp_intrl_id
) ffw$_503,
ktb.tb_sales_charges ffw$_504,
'-' ffw$_505,
ktb.x_1_seq_id ffw$_519,
ktb.mf_share_class ffw$_522,
ktb.tb_account_class_det ffw$_138,
( CASE
WHEN ktb.tb_account_value = '0' THEN '0.00'
WHEN ktb.tb_account_value != '0' THEN TO_CHAR(ktb.tb_account_value,'999,999,999,999,999,999.99')
END ) ffw$_61,
ktb.activity_as_of_date ffw$_140,
trunc(months_between(ktb.x_1_dt,ktb.tb_age) / 12,0) ffw$_45,
'-' ffw$_64,
ktb.tb_entered_by ffw$_141,
( CASE
WHEN ktb.tb_executiontime IS NOT NULL THEN substr(ktb.tb_executiontime,0,2)
|| ':'
|| substr(ktb.tb_executiontime,3,2)
|| ':'
|| substr(ktb.tb_executiontime,5,2)
END ) ffw$_72,
ktb.tb_lqd_nt_wrth ffw$_43,
ktb.tb_discretionary ffw$_39,
( CASE
WHEN ktb.tb_orderdate IS NOT NULL THEN TO_CHAR(ktb.tb_orderdate,'MM/DD/YYYY')
END ) ffw$_71,
( CASE
WHEN ktb.tb_ordertime IS NOT NULL THEN substr(ktb.tb_ordertime,0,2)
|| ':'
|| substr(ktb.tb_ordertime,3,2)
|| ':'
|| substr(ktb.tb_ordertime,5,2)
END ) ffw$_73,
ktb.prod_sub_type_cd ffw$_62,
ktb.x_1_orig_id ffw$_60,
ktb.tb_ria_discre ffw$_69,
masked.f_get_scnro_name(ktb.x_1_seq_id) ffw$_65,
( CASE
WHEN ktb.score_ct IS NULL
OR ktb.score_ct = 0 THEN '0'
WHEN ktb.score_ct >= 1
AND ktb.score_ct <= 49 THEN '1'
WHEN ktb.score_ct > 49 THEN '2'
ELSE ''
END ) ffw$_35,
(
SELECT
code_disp_tx
FROM
masked.kdd_code_set_trnln
WHERE
code_set = 'TimeHorizon'
AND code_val = ktb.tb_time_horizon
) ffw$_46,
TO_CHAR(ktb.tb_x_1_ent_dt,'mm/dd/yyyy') ffw$_142,
(
SELECT
code_disp_tx
FROM
masked.kdd_code_set_trnln
WHERE
code_set = 'x_1ExecutionEventType'
AND code_val = ktb.tb_last_event_type_cd
) ffw$_70,
ktb.tb_src_sys_cd ffw$_139
FROM
masked.kdd_x_1_blotter_hist ktb
WHERE
ktb.x_1_dt >= trunc(SYSDATE - 7)
AND ktb.x_1_dt <= TO_DATE('06/25/2020','MM/DD/YYYY')
AND ktb.x_1_blttr_status_cd IN (
'RVW',
'RWF',
'UNRVW'
)
AND ktb.tb_entered_by_suprv IN (
SELECT
*
FROM
TABLE ( masked.f_get_own_x_1s('BETHANY.COLFLESH') )
)
) rnm
WHERE
ROWNUM <= 99
)
WHERE
rnum >= 1
/
UI PLAN :
UI PLAN :
@np
Enter value for sqlid: 2n59s82fshzrt
SQL_ID 2n59s82fshzrt, child number 0
PLan hash value: 4292781176
-------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
-------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 32626 (100)| | | |
| 1 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 2 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 3 | SORT GROUP BY | | 1 | 15 | | | | |
| 4 | TABLE ACCESS BY GLOBAL INDEX ROWID BATCHED | KDD_TRADE_ATTRIBUTE | 1 | 15 | 5 (0)| 00:00:01 | ROWID | ROWID |
|* 5 | INDEX RANGE SCAN | PK_884 | 1 | | 4 (0)| 00:00:01 | | |
| 6 | SORT GROUP BY | | 1 | 14 | | | | |
|* 7 | INDEX RANGE SCAN | PK_883 | 2 | 28 | 3 (0)| 00:00:01 | | |
| 8 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 9 | INDEX UNIQUE SCAN | PK_1213 | 1 | | 2 (0)| 00:00:01 | | |
| 10 | TABLE ACCESS BY INDEX ROWID | CUST | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 11 | INDEX UNIQUE SCAN | PK_1210 | 1 | | 2 (0)| 00:00:01 | | |
| 12 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 13 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 14 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 15 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 16 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 17 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 18 | TABLE ACCESS BY INDEX ROWID | ACCT | 1 | 26 | 3 (0)| 00:00:01 | | |
|* 19 | INDEX UNIQUE SCAN | PK_1206 | 1 | | 2 (0)| 00:00:01 | | |
| 20 | SORT AGGREGATE | | 1 | 8 | | | | |
|* 21 | INDEX RANGE SCAN | PK_883 | 2 | 16 | 3 (0)| 00:00:01 | | |
| 22 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 23 | INDEX UNIQUE SCAN | PK_1213 | 1 | | 2 (0)| 00:00:01 | | |
| 24 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 25 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 26 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 27 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
|* 28 | VIEW | | 99 | 927K| 32626 (1)| 00:01:06 | | |
|* 29 | COUNT STOPKEY | | | | | | | |
|* 30 | HASH JOIN | | 99 | 65736 | 31396 (1)| 00:01:03 | | |
| 31 | VIEW | VW_NSO_1 | 8168 | 813K| 30 (4)| 00:00:01 | | |
| 32 | HASH UNIQUE | | 8168 | 16336 | 30 (4)| 00:00:01 | | |
|* 33 | FILTER | | | | | | | |
| 34 | COLLECTION ITERATOR PICKLER FETCH | F_GET_OWN_TRADES | 8168 | 16336 | 29 (0)| 00:00:01 | | |
| 35 | INLIST ITERATOR | | | | | | | |
|* 36 | TABLE ACCESS BY GLOBAL INDEX ROWID BATCHED| KDD_TRADE_BLOTTER_HIST | 1273 | 349K| 31366 (1)| 00:01:03 | ROWID | ROWID |
|* 37 | INDEX RANGE SCAN | IDX_TRADE_BLTTR_STATUS_CD_HIST | | | 1596 (1)| 00:00:04 | | |
-------------------------------------------------------------------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$4 / KCST@SEL$4
2 - SEL$4 / KCST@SEL$4
3 - SEL$5
4 - SEL$5 / KTA@SEL$5
5 - SEL$5 / KTA@SEL$5
6 - SEL$6
7 - SEL$6 / KTR@SEL$6
8 - SEL$7 / EMP@SEL$7
9 - SEL$7 / EMP@SEL$7
10 - SEL$8 / CUST@SEL$8
11 - SEL$8 / CUST@SEL$8
12 - SEL$9 / KCST@SEL$9
13 - SEL$9 / KCST@SEL$9
14 - SEL$10 / KCST@SEL$10
15 - SEL$10 / KCST@SEL$10
16 - SEL$11 / KCST@SEL$11
17 - SEL$11 / KCST@SEL$11
18 - SEL$12 / ACCT@SEL$12
19 - SEL$12 / ACCT@SEL$12
20 - SEL$13
21 - SEL$13 / KTR@SEL$13
22 - SEL$14 / EMP@SEL$14
23 - SEL$14 / EMP@SEL$14
24 - SEL$15 / KDD_CODE_SET_TRNLN@SEL$15
25 - SEL$15 / KDD_CODE_SET_TRNLN@SEL$15
26 - SEL$16 / KDD_CODE_SET_TRNLN@SEL$16
27 - SEL$16 / KDD_CODE_SET_TRNLN@SEL$16
28 - SEL$FE512488 / from$_subquery$_001@SEL$1
29 - SEL$FE512488
31 - SEL$C03A25B6 / VW_NSO_1@SEL$FE512488
32 - SEL$C03A25B6
34 - SEL$C03A25B6 / KOKBF$0@SEL$18
36 - SEL$FE512488 / KTB@SEL$3
37 - SEL$FE512488 / KTB@SEL$3
Outline Data
-------------
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('12.2.0.1')
DB_VERSION('12.2.0.1')
OPT_PARAM('optimizer_dynamic_sampling' 7)
FIRST_ROWS(99)
NO_PARALLEL
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$C03A25B6")
OUTLINE_LEAF(@"SEL$FE512488")
UNNEST(@"SEL$DC4B4145" UNNEST_INNERJ_DISTINCT_VIEW)
OUTLINE_LEAF(@"SEL$1")
OUTLINE(@"SEL$DC4B4145")
MERGE(@"SEL$18" >"SEL$17")
OUTLINE(@"SEL$335DD26A")
MERGE(@"SEL$3" >"SEL$2")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$3")
NO_ACCESS(@"SEL$1" "from$_subquery$_001"@"SEL$1")
INDEX_RS_ASC(@"SEL$FE512488" "KTB"@"SEL$3" ("KDD_TRADE_BLOTTER_HIST"."TRADE_BLTTR_STATUS_CD"))
BATCH_TABLE_ACCESS_BY_ROWID(@"SEL$FE512488" "KTB"@"SEL$3")
NO_ACCESS(@"SEL$FE512488" "VW_NSO_1"@"SEL$FE512488")
LEADING(@"SEL$FE512488" "KTB"@"SEL$3" "VW_NSO_1"@"SEL$FE512488")
USE_HASH(@"SEL$FE512488" "VW_NSO_1"@"SEL$FE512488")
SWAP_JOIN_INPUTS(@"SEL$FE512488" "VW_NSO_1"@"SEL$FE512488")
FULL(@"SEL$C03A25B6" "KOKBF$0"@"SEL$18")
USE_HASH_AGGREGATION(@"SEL$C03A25B6")
INDEX_RS_ASC(@"SEL$16" "KDD_CODE_SET_TRNLN"@"SEL$16" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
INDEX_RS_ASC(@"SEL$15" "KDD_CODE_SET_TRNLN"@"SEL$15" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
INDEX_RS_ASC(@"SEL$14" "EMP"@"SEL$14" ("EMP"."EMP_INTRL_ID"))
INDEX(@"SEL$13" "KTR"@"SEL$13" ("KDD_TRADE_REVIEW"."TRADE_SEQ_ID" "KDD_TRADE_REVIEW"."REVIEW_ID"))
INDEX_RS_ASC(@"SEL$12" "ACCT"@"SEL$12" ("ACCT"."ACCT_INTRL_ID"))
INDEX_RS_ASC(@"SEL$11" "KCST"@"SEL$11" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
INDEX_RS_ASC(@"SEL$10" "KCST"@"SEL$10" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
INDEX_RS_ASC(@"SEL$9" "KCST"@"SEL$9" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
INDEX_RS_ASC(@"SEL$8" "CUST"@"SEL$8" ("CUST"."CUST_INTRL_ID"))
INDEX_RS_ASC(@"SEL$7" "EMP"@"SEL$7" ("EMP"."EMP_INTRL_ID"))
INDEX(@"SEL$6" "KTR"@"SEL$6" ("KDD_TRADE_REVIEW"."TRADE_SEQ_ID" "KDD_TRADE_REVIEW"."REVIEW_ID"))
INDEX_RS_ASC(@"SEL$5" "KTA"@"SEL$5" ("KDD_TRADE_ATTRIBUTE"."TRADE_SEQ_ID" "KDD_TRADE_ATTRIBUTE"."ATTR_TYPE_CD"))
BATCH_TABLE_ACCESS_BY_ROWID(@"SEL$5" "KTA"@"SEL$5")
INDEX_RS_ASC(@"SEL$4" "KCST"@"SEL$4" ("KDD_CODE_SET_TRNLN"."CODE_SET" "KDD_CODE_SET_TRNLN"."CODE_VAL"))
END_OUTLINE_DATA
*/
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("KCST"."CODE_SET"='TradeBlotterStatus' AND "KCST"."CODE_VAL"=:B1)
5 - access("KTA"."TRADE_SEQ_ID"=:B1)
7 - access("KTR"."TRADE_SEQ_ID"=:B1)
9 - access("EMP"."EMP_INTRL_ID"=:B1)
11 - access("CUST_INTRL_ID"=:B1)
13 - access("KCST"."CODE_SET"='ProductCategory' AND "KCST"."CODE_VAL"=:B1)
15 - access("KCST"."CODE_SET"='BuySellCode' AND "KCST"."CODE_VAL"=:B1)
17 - access("KCST"."CODE_SET"='BuySellCode' AND "KCST"."CODE_VAL"=:B1)
19 - access("ACCT"."ACCT_INTRL_ID"=:B1)
21 - access("KTR"."TRADE_SEQ_ID"=:B1)
23 - access("EMP"."EMP_INTRL_ID"=:B1)
25 - access("CODE_SET"='TimeHorizon' AND "CODE_VAL"=:B1)
27 - access("CODE_SET"='TradeExecutionEventType' AND "CODE_VAL"=:B1)
28 - filter("RNUM">=1)
29 - filter(ROWNUM<=99)
30 - access("KTB"."TB_ENTERED_BY_SUPRV"="ENTITY_ID")
33 - filter(TO_DATE(' 2020-06-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss')>=TRUNC(SYSDATE@!-7))
36 - filter(("KTB"."TRADE_DT">=TRUNC(SYSDATE@!-7) AND "KTB"."TRADE_DT"<=TO_DATE(' 2020-06-26 00:00:00', 'syyyy-mm-dd hh24:mi:ss')))
37 - access(("KTB"."TRADE_BLTTR_STATUS_CD"='RVW' OR "KTB"."TRADE_BLTTR_STATUS_CD"='RWF' OR "KTB"."TRADE_BLTTR_STATUS_CD"='UNRVW'))
Note
-----
- dynamic statistics used: dynamic sampling (level=7)
- automatic DOP: Computed Degree of Parallelism is 1 because of parallel threshold
SQL_ID 2n59s82fshzrt, child number 1
Plan hash value: 4292781176
-------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
-------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 32626 (100)| | | |
| 1 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 2 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 3 | SORT GROUP BY | | 1 | 15 | | | | |
| 4 | TABLE ACCESS BY GLOBAL INDEX ROWID BATCHED | KDD_TRADE_ATTRIBUTE | 1 | 15 | 5 (0)| 00:00:01 | ROWID | ROWID |
|* 5 | INDEX RANGE SCAN | PK_884 | 1 | | 4 (0)| 00:00:01 | | |
| 6 | SORT GROUP BY | | 1 | 14 | | | | |
|* 7 | INDEX RANGE SCAN | PK_883 | 2 | 28 | 3 (0)| 00:00:01 | | |
| 8 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 9 | INDEX UNIQUE SCAN | PK_1213 | 1 | | 2 (0)| 00:00:01 | | |
| 10 | TABLE ACCESS BY INDEX ROWID | CUST | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 11 | INDEX UNIQUE SCAN | PK_1210 | 1 | | 2 (0)| 00:00:01 | | |
| 12 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 13 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 14 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 15 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 16 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 17 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 18 | TABLE ACCESS BY INDEX ROWID | ACCT | 1 | 26 | 3 (0)| 00:00:01 | | |
|* 19 | INDEX UNIQUE SCAN | PK_1206 | 1 | | 2 (0)| 00:00:01 | | |
| 20 | SORT AGGREGATE | | 1 | 8 | | | | |
|* 21 | INDEX RANGE SCAN | PK_883 | 2 | 16 | 3 (0)| 00:00:01 | | |
| 22 | TABLE ACCESS BY INDEX ROWID | EMP | 1 | 25 | 3 (0)| 00:00:01 | | |
|* 23 | INDEX UNIQUE SCAN | PK_1213 | 1 | | 2 (0)| 00:00:01 | | |
| 24 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 25 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
| 26 | TABLE ACCESS BY INDEX ROWID | KDD_CODE_SET_TRNLN | 1 | 41 | 2 (0)| 00:00:01 | | |
|* 27 | INDEX UNIQUE SCAN | PK_751 | 1 | | 1 (0)| 00:00:01 | | |
|* 28 | VIEW | | 99 | 927K| 32626 (1)| 00:01:06 | | |
|* 29 | COUNT STOPKEY | | | | | | | |
|* 30 | HASH JOIN | | 99 | 65736 | 31396 (1)| 00:01:03 | | |
| 31 | VIEW | VW_NSO_1 | 8168 | 813K| 30