scalar subquery caching
Loz, December 03, 2009 - 2:38 am UTC
Hi Tom,
Out of interest, is there any reason why the optimiser isn't able to apply caching to any scalar expression? It seems strange that it would only be able to do it when wrapped up in the (select ... from dual). It seems to be able to see through or ignore other syntactic tricks, such as order of tables, parethesis, joins vs where a.id=b.id and the like.
What have I missed?
Thanks.
December 04, 2009 - 2:30 pm UTC
it does in 10g with deterministic functions...
and certain scalar functions - it always has - eg: substr( :x, 1, 10 ), it'll tend to compute that once and use it over and over again.
So, in 10g, the scalar subquery caching is not as important, but can still definitely help, if the function is deterministic.
so, it already does, but scalar subquery caching can make it even better in most cases for plsql called from sql.
A reader, May 03, 2011 - 9:48 am UTC
Hi tom
database is running on 10.2.0.4 and follwoing query when pass function in where clasue do not use index, passing same value the fucntion is returning using index. any thoughts...
SQL> with risk_date as ( select li_risk.GETLATESTRISKDATE('LLI') as riskdate FROM DUAL)
2 select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect, risk_date s
3 WHERE "VALUE DATE" = s.riskdate
4 AND rv."FIRM" = ('LLI')
5 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
6 AND rv.AXYSID is not null;
Execution Plan
----------------------------------------------------------
Plan hash value: 3748441797
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 45086 | 92M| | 48228 (2)| 00:11:16 |
|* 1 | HASH JOIN | | 45086 | 92M| | 48228 (2)| 00:11:16 |
| 2 | NESTED LOOPS | | 156 | 5304 | | 5 (0)| 00:00:01 |
| 3 | FAST DUAL | | 1 | | | 2 (0)| 00:00:01 |
| 4 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | | 3 (0)| 00:00:01 |
|* 5 | VIEW | RISK_DATA_TW_V | 45086 | 91M| | 48222 (2)| 00:11:16 |
| 6 | UNION-ALL | | | | | | |
|* 7 | HASH JOIN RIGHT OUTER | | 41220 | 17M| | 41507 (3)| 00:09:42 |
| 8 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
|* 9 | HASH JOIN RIGHT OUTER | | 41220 | 16M| | 41467 (3)| 00:09:41 |
| 10 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 11 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41463 (3)| 00:09:41 |
| 12 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 13 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41459 (3)| 00:09:41 |
| 14 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 15 | HASH JOIN | | 41220 | 15M| 8656K| 41455 (3)| 00:09:41 |
|* 16 | HASH JOIN | | 41220 | 8171K| 8256K| 12878 (2)| 00:03:01 |
|* 17 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 18 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 19 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 20 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 21 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 22 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 23 | TABLE ACCESS FULL | RISK_SCENARIO | 2343K| 22M| | 5320 (4)| 00:01:15 |
| 24 | TABLE ACCESS FULL | RISK_SENSITIVITY | 2343K| 399M| | 9943 (6)| 00:02:20 |
|* 25 | HASH JOIN OUTER | | 3866 | 1042K| | 6715 (1)| 00:01:35 |
|* 26 | HASH JOIN RIGHT OUTER | | 3866 | 970K| | 6675 (1)| 00:01:34 |
| 27 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 28 | HASH JOIN RIGHT OUTER | | 3866 | 898K| | 6672 (1)| 00:01:34 |
| 29 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 30 | HASH JOIN RIGHT OUTER | | 3866 | 864K| | 6668 (1)| 00:01:34 |
| 31 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 32 | HASH JOIN | | 3866 | 830K| 8256K| 6665 (1)| 00:01:34 |
|* 33 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 34 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 35 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 36 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 37 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 38 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 39 | TABLE ACCESS FULL | RISK_SENSITIVITY_CLP | 219K| 5793K| | 896 (2)| 00:00:13 |
| 40 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
5 - filter("VALUE DATE"="LI_RISK"."GETLATESTRISKDATE"('LLI'))
7 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
9 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
11 - access("TERM"."SP_RATING"="S"."ID"(+))
13 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
15 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
16 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
17 - access("POS"."SEC_ID"="TERM"."SEC_ID")
18 - filter("TERM"."AXYSID" IS NOT NULL)
21 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
22 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
25 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
26 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
28 - access("TERM"."SP_RATING"="S"."ID"(+))
30 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
32 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
33 - access("POS"."SEC_ID"="TERM"."SEC_ID")
34 - filter("TERM"."AXYSID" IS NOT NULL)
37 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
38 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
SQL>
SQL> set autotrace trace exp
SQL> select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect
2 WHERE "VALUE DATE" = to_date('3/17/2011','MM/DD/YYYY')
3 AND rv."FIRM" = ('LLI')
4 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
5 AND rv.AXYSID is not null;
Elapsed: 00:00:00.79
Execution Plan
----------------------------------------------------------
Plan hash value: 203326834
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 58 | 121K| 874 (1)| 00:00:13 |
|* 1 | HASH JOIN | | 58 | 121K| 874 (1)| 00:00:13 |
| 2 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | 3 (0)| 00:00:01 |
| 3 | VIEW | RISK_DATA_TW_V | 58 | 119K| 871 (1)| 00:00:13 |
| 4 | UNION-ALL | | | | | |
| 5 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY | 1 | 179 | 3 (0)| 00:00:01 |
| 6 | NESTED LOOPS | | 53 | 23214 | 592 (1)| 00:00:09 |
|* 7 | HASH JOIN OUTER | | 53 | 13727 | 433 (1)| 00:00:07 |
|* 8 | HASH JOIN OUTER | | 53 | 13250 | 430 (1)| 00:00:07 |
| 9 | TABLE ACCESS BY INDEX ROWID | RISK_SCENARIO | 1 | 10 | 3 (0)| 00:00:01 |
| 10 | NESTED LOOPS | | 53 | 12773 | 426 (1)| 00:00:06 |
| 11 | NESTED LOOPS OUTER | | 53 | 12243 | 267 (1)| 00:00:04 |
|* 12 | HASH JOIN OUTER | | 53 | 11236 | 230 (1)| 00:00:04 |
| 13 | NESTED LOOPS | | 53 | 10229 | 227 (1)| 00:00:04 |
| 14 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 15 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 16 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 17 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
|* 18 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 19 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 20 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 21 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 22 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
|* 23 | INDEX RANGE SCAN | RISK_SCENARIO_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 24 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
| 25 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
|* 26 | INDEX RANGE SCAN | RISK_SENSITIVITY_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 27 | NESTED LOOPS OUTER | | 5 | 1380 | 279 (1)| 00:00:04 |
|* 28 | HASH JOIN OUTER | | 5 | 1285 | 275 (1)| 00:00:04 |
| 29 | NESTED LOOPS OUTER | | 5 | 1190 | 271 (0)| 00:00:04 |
| 30 | NESTED LOOPS OUTER | | 5 | 1145 | 268 (0)| 00:00:04 |
| 31 | NESTED LOOPS | | 5 | 1100 | 266 (0)| 00:00:04 |
| 32 | NESTED LOOPS | | 20 | 2640 | 246 (0)| 00:00:04 |
| 33 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 34 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 35 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
| 37 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY_CLP | 1 | 27 | 2 (0)| 00:00:01 |
|* 38 | INDEX RANGE SCAN | RISK_SENSITIVITY_CLP_IDX1 | 1 | | 1 (0)| 00:00:01 |
|* 39 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 40 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 41 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 44 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 45 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 46 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
7 - access("TERM"."SP_RATING"="S"."ID"(+))
8 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
12 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
15 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
17 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
18 - filter("TERM"."AXYSID" IS NOT NULL)
19 - access("POS"."SEC_ID"="TERM"."SEC_ID")
22 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
23 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
26 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
28 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
34 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
36 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
38 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
39 - filter("TERM"."AXYSID" IS NOT NULL)
40 - access("POS"."SEC_ID"="TERM"."SEC_ID")
42 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
44 - access("TERM"."SP_RATING"="S"."ID"(+))
47 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
SQL>
A reader, May 03, 2011 - 10:00 am UTC
sorry the first query was wrongly pasted.
SQL> select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect
2 WHERE "VALUE DATE" = li_risk.GETLATESTRISKDATE('LLI')
3 AND rv."FIRM" = ('LLI')
4 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
5 AND rv.AXYSID is not null;
Elapsed: 00:00:00.00
Execution Plan
----------------------------------------------------------
Plan hash value: 1698091535
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 45086 | 92M| | 48226 (2)| 00:11:16 |
|* 1 | HASH JOIN | | 45086 | 92M| | 48226 (2)| 00:11:16 |
| 2 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | | 3 (0)| 00:00:01 |
|* 3 | VIEW | RISK_DATA_TW_V | 45086 | 91M| | 48222 (2)| 00:11:16 |
| 4 | UNION-ALL | | | | | | |
|* 5 | HASH JOIN RIGHT OUTER | | 41220 | 17M| | 41507 (3)| 00:09:42 |
| 6 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
|* 7 | HASH JOIN RIGHT OUTER | | 41220 | 16M| | 41467 (3)| 00:09:41 |
| 8 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 9 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41463 (3)| 00:09:41 |
| 10 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 11 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41459 (3)| 00:09:41 |
| 12 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 13 | HASH JOIN | | 41220 | 15M| 8656K| 41455 (3)| 00:09:41 |
|* 14 | HASH JOIN | | 41220 | 8171K| 8256K| 12878 (2)| 00:03:01 |
|* 15 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 16 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 17 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 18 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 19 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 20 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 21 | TABLE ACCESS FULL | RISK_SCENARIO | 2343K| 22M| | 5320 (4)| 00:01:15 |
| 22 | TABLE ACCESS FULL | RISK_SENSITIVITY | 2343K| 399M| | 9943 (6)| 00:02:20 |
|* 23 | HASH JOIN OUTER | | 3866 | 1042K| | 6715 (1)| 00:01:35 |
|* 24 | HASH JOIN RIGHT OUTER | | 3866 | 970K| | 6675 (1)| 00:01:34 |
| 25 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 26 | HASH JOIN RIGHT OUTER | | 3866 | 898K| | 6672 (1)| 00:01:34 |
| 27 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 28 | HASH JOIN RIGHT OUTER | | 3866 | 864K| | 6668 (1)| 00:01:34 |
| 29 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 30 | HASH JOIN | | 3866 | 830K| 8256K| 6665 (1)| 00:01:34 |
|* 31 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 32 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 33 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 34 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 35 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 37 | TABLE ACCESS FULL | RISK_SENSITIVITY_CLP | 219K| 5793K| | 896 (2)| 00:00:13 |
| 38 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
3 - filter("VALUE DATE"="LI_RISK"."GETLATESTRISKDATE"('LLI'))
5 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
7 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
9 - access("TERM"."SP_RATING"="S"."ID"(+))
11 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
13 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
14 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
15 - access("POS"."SEC_ID"="TERM"."SEC_ID")
16 - filter("TERM"."AXYSID" IS NOT NULL)
19 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
20 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
23 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
24 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
26 - access("TERM"."SP_RATING"="S"."ID"(+))
28 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
30 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
31 - access("POS"."SEC_ID"="TERM"."SEC_ID")
32 - filter("TERM"."AXYSID" IS NOT NULL)
35 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
36 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
SQL>
SQL> set autotrace trace exp
SQL> select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect
2 WHERE "VALUE DATE" = to_date('3/17/2011','MM/DD/YYYY')
3 AND rv."FIRM" = ('LLI')
4 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
5 AND rv.AXYSID is not null;
Elapsed: 00:00:00.79
Execution Plan
----------------------------------------------------------
Plan hash value: 203326834
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 58 | 121K| 874 (1)| 00:00:13 |
|* 1 | HASH JOIN | | 58 | 121K| 874 (1)| 00:00:13 |
| 2 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | 3 (0)| 00:00:01 |
| 3 | VIEW | RISK_DATA_TW_V | 58 | 119K| 871 (1)| 00:00:13 |
| 4 | UNION-ALL | | | | | |
| 5 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY | 1 | 179 | 3 (0)| 00:00:01 |
| 6 | NESTED LOOPS | | 53 | 23214 | 592 (1)| 00:00:09 |
|* 7 | HASH JOIN OUTER | | 53 | 13727 | 433 (1)| 00:00:07 |
|* 8 | HASH JOIN OUTER | | 53 | 13250 | 430 (1)| 00:00:07 |
| 9 | TABLE ACCESS BY INDEX ROWID | RISK_SCENARIO | 1 | 10 | 3 (0)| 00:00:01 |
| 10 | NESTED LOOPS | | 53 | 12773 | 426 (1)| 00:00:06 |
| 11 | NESTED LOOPS OUTER | | 53 | 12243 | 267 (1)| 00:00:04 |
|* 12 | HASH JOIN OUTER | | 53 | 11236 | 230 (1)| 00:00:04 |
| 13 | NESTED LOOPS | | 53 | 10229 | 227 (1)| 00:00:04 |
| 14 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 15 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 16 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 17 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
|* 18 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 19 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 20 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 21 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 22 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
|* 23 | INDEX RANGE SCAN | RISK_SCENARIO_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 24 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
| 25 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
|* 26 | INDEX RANGE SCAN | RISK_SENSITIVITY_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 27 | NESTED LOOPS OUTER | | 5 | 1380 | 279 (1)| 00:00:04 |
|* 28 | HASH JOIN OUTER | | 5 | 1285 | 275 (1)| 00:00:04 |
| 29 | NESTED LOOPS OUTER | | 5 | 1190 | 271 (0)| 00:00:04 |
| 30 | NESTED LOOPS OUTER | | 5 | 1145 | 268 (0)| 00:00:04 |
| 31 | NESTED LOOPS | | 5 | 1100 | 266 (0)| 00:00:04 |
| 32 | NESTED LOOPS | | 20 | 2640 | 246 (0)| 00:00:04 |
| 33 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 34 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 35 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
| 37 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY_CLP | 1 | 27 | 2 (0)| 00:00:01 |
|* 38 | INDEX RANGE SCAN | RISK_SENSITIVITY_CLP_IDX1 | 1 | | 1 (0)| 00:00:01 |
|* 39 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 40 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 41 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 44 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 45 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 46 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
7 - access("TERM"."SP_RATING"="S"."ID"(+))
8 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
12 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
15 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
17 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
18 - filter("TERM"."AXYSID" IS NOT NULL)
19 - access("POS"."SEC_ID"="TERM"."SEC_ID")
22 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
23 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
26 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
28 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
34 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
36 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
38 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
39 - filter("TERM"."AXYSID" IS NOT NULL)
40 - access("POS"."SEC_ID"="TERM"."SEC_ID")
42 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
44 - access("TERM"."SP_RATING"="S"."ID"(+))
47 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
SQL>
A reader, May 03, 2011 - 10:00 am UTC
sorry the first query was wrongly pasted.
SQL> select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect
2 WHERE "VALUE DATE" = li_risk.GETLATESTRISKDATE('LLI')
3 AND rv."FIRM" = ('LLI')
4 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
5 AND rv.AXYSID is not null;
Elapsed: 00:00:00.00
Execution Plan
----------------------------------------------------------
Plan hash value: 1698091535
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 45086 | 92M| | 48226 (2)| 00:11:16 |
|* 1 | HASH JOIN | | 45086 | 92M| | 48226 (2)| 00:11:16 |
| 2 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | | 3 (0)| 00:00:01 |
|* 3 | VIEW | RISK_DATA_TW_V | 45086 | 91M| | 48222 (2)| 00:11:16 |
| 4 | UNION-ALL | | | | | | |
|* 5 | HASH JOIN RIGHT OUTER | | 41220 | 17M| | 41507 (3)| 00:09:42 |
| 6 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
|* 7 | HASH JOIN RIGHT OUTER | | 41220 | 16M| | 41467 (3)| 00:09:41 |
| 8 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 9 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41463 (3)| 00:09:41 |
| 10 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 11 | HASH JOIN RIGHT OUTER | | 41220 | 15M| | 41459 (3)| 00:09:41 |
| 12 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 13 | HASH JOIN | | 41220 | 15M| 8656K| 41455 (3)| 00:09:41 |
|* 14 | HASH JOIN | | 41220 | 8171K| 8256K| 12878 (2)| 00:03:01 |
|* 15 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 16 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 17 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 18 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 19 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 20 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 21 | TABLE ACCESS FULL | RISK_SCENARIO | 2343K| 22M| | 5320 (4)| 00:01:15 |
| 22 | TABLE ACCESS FULL | RISK_SENSITIVITY | 2343K| 399M| | 9943 (6)| 00:02:20 |
|* 23 | HASH JOIN OUTER | | 3866 | 1042K| | 6715 (1)| 00:01:35 |
|* 24 | HASH JOIN RIGHT OUTER | | 3866 | 970K| | 6675 (1)| 00:01:34 |
| 25 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | | 3 (0)| 00:00:01 |
|* 26 | HASH JOIN RIGHT OUTER | | 3866 | 898K| | 6672 (1)| 00:01:34 |
| 27 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 28 | HASH JOIN RIGHT OUTER | | 3866 | 864K| | 6668 (1)| 00:01:34 |
| 29 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | | 3 (0)| 00:00:01 |
|* 30 | HASH JOIN | | 3866 | 830K| 8256K| 6665 (1)| 00:01:34 |
|* 31 | HASH JOIN | | 41220 | 7769K| | 5069 (1)| 00:01:11 |
|* 32 | TABLE ACCESS FULL | RISK_TERM_DETAIL | 8094 | 695K| | 255 (4)| 00:00:04 |
| 33 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | | 9 (0)| 00:00:01 |
| 34 | NESTED LOOPS | | 160K| 16M| | 4812 (1)| 00:01:08 |
|* 35 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 531 | 17523 | | 9 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | | 2 (0)| 00:00:01 |
| 37 | TABLE ACCESS FULL | RISK_SENSITIVITY_CLP | 219K| 5793K| | 896 (2)| 00:00:13 |
| 38 | TABLE ACCESS FULL | RISK_ISSUER | 38013 | 705K| | 39 (3)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
3 - filter("VALUE DATE"="LI_RISK"."GETLATESTRISKDATE"('LLI'))
5 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
7 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
9 - access("TERM"."SP_RATING"="S"."ID"(+))
11 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
13 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
14 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
15 - access("POS"."SEC_ID"="TERM"."SEC_ID")
16 - filter("TERM"."AXYSID" IS NOT NULL)
19 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
20 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
23 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
24 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
26 - access("TERM"."SP_RATING"="S"."ID"(+))
28 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
30 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
31 - access("POS"."SEC_ID"="TERM"."SEC_ID")
32 - filter("TERM"."AXYSID" IS NOT NULL)
35 - filter("CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
36 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
SQL>
SQL> set autotrace trace exp
SQL> select * FROM li_risk.risk_data_tw_v rv ,li_risk.risk_sec_type sect
2 WHERE "VALUE DATE" = to_date('3/17/2011','MM/DD/YYYY')
3 AND rv."FIRM" = ('LLI')
4 AND rv."RISK SEC TYPE ID" = sect.SEC_TYPE_ID
5 AND rv.AXYSID is not null;
Elapsed: 00:00:00.79
Execution Plan
----------------------------------------------------------
Plan hash value: 203326834
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 58 | 121K| 874 (1)| 00:00:13 |
|* 1 | HASH JOIN | | 58 | 121K| 874 (1)| 00:00:13 |
| 2 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 5304 | 3 (0)| 00:00:01 |
| 3 | VIEW | RISK_DATA_TW_V | 58 | 119K| 871 (1)| 00:00:13 |
| 4 | UNION-ALL | | | | | |
| 5 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY | 1 | 179 | 3 (0)| 00:00:01 |
| 6 | NESTED LOOPS | | 53 | 23214 | 592 (1)| 00:00:09 |
|* 7 | HASH JOIN OUTER | | 53 | 13727 | 433 (1)| 00:00:07 |
|* 8 | HASH JOIN OUTER | | 53 | 13250 | 430 (1)| 00:00:07 |
| 9 | TABLE ACCESS BY INDEX ROWID | RISK_SCENARIO | 1 | 10 | 3 (0)| 00:00:01 |
| 10 | NESTED LOOPS | | 53 | 12773 | 426 (1)| 00:00:06 |
| 11 | NESTED LOOPS OUTER | | 53 | 12243 | 267 (1)| 00:00:04 |
|* 12 | HASH JOIN OUTER | | 53 | 11236 | 230 (1)| 00:00:04 |
| 13 | NESTED LOOPS | | 53 | 10229 | 227 (1)| 00:00:04 |
| 14 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 15 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 16 | TABLE ACCESS BY INDEX ROWID| RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 17 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
|* 18 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 19 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 20 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 21 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 22 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
|* 23 | INDEX RANGE SCAN | RISK_SCENARIO_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 24 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
| 25 | TABLE ACCESS FULL | RISK_RATINGS_REF | 120 | 1080 | 3 (0)| 00:00:01 |
|* 26 | INDEX RANGE SCAN | RISK_SENSITIVITY_IDX1 | 1 | | 2 (0)| 00:00:01 |
| 27 | NESTED LOOPS OUTER | | 5 | 1380 | 279 (1)| 00:00:04 |
|* 28 | HASH JOIN OUTER | | 5 | 1285 | 275 (1)| 00:00:04 |
| 29 | NESTED LOOPS OUTER | | 5 | 1190 | 271 (0)| 00:00:04 |
| 30 | NESTED LOOPS OUTER | | 5 | 1145 | 268 (0)| 00:00:04 |
| 31 | NESTED LOOPS | | 5 | 1100 | 266 (0)| 00:00:04 |
| 32 | NESTED LOOPS | | 20 | 2640 | 246 (0)| 00:00:04 |
| 33 | NESTED LOOPS | | 208 | 21840 | 18 (0)| 00:00:01 |
|* 34 | TABLE ACCESS FULL | RISK_LOAD_CONTROL | 1 | 33 | 9 (0)| 00:00:01 |
| 35 | TABLE ACCESS BY INDEX ROWID | RISK_POSITION | 303 | 21816 | 9 (0)| 00:00:01 |
|* 36 | INDEX RANGE SCAN | RISK_POSITION_IDX1 | 303 | | 2 (0)| 00:00:01 |
| 37 | TABLE ACCESS BY INDEX ROWID | RISK_SENSITIVITY_CLP | 1 | 27 | 2 (0)| 00:00:01 |
|* 38 | INDEX RANGE SCAN | RISK_SENSITIVITY_CLP_IDX1 | 1 | | 1 (0)| 00:00:01 |
|* 39 | TABLE ACCESS BY INDEX ROWID | RISK_TERM_DETAIL | 1 | 88 | 1 (0)| 00:00:01 |
|* 40 | INDEX UNIQUE SCAN | RISK_TERM_DETAIL_PK | 1 | | 0 (0)| 00:00:01 |
| 41 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID | RISK_RATINGS_REF | 1 | 9 | 1 (0)| 00:00:01 |
|* 44 | INDEX UNIQUE SCAN | RISK_RATINGS_REF_PK | 1 | | 0 (0)| 00:00:01 |
| 45 | TABLE ACCESS FULL | RISK_SEC_TYPE | 156 | 2964 | 3 (0)| 00:00:01 |
| 46 | TABLE ACCESS BY INDEX ROWID | RISK_ISSUER | 1 | 19 | 1 (0)| 00:00:01 |
|* 47 | INDEX UNIQUE SCAN | RISK_ISSUER_PK | 1 | | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("RV"."RISK SEC TYPE ID"="SECT"."SEC_TYPE_ID")
7 - access("TERM"."SP_RATING"="S"."ID"(+))
8 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
12 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
15 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
17 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
18 - filter("TERM"."AXYSID" IS NOT NULL)
19 - access("POS"."SEC_ID"="TERM"."SEC_ID")
22 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
23 - access("POS"."POSITION_ID"="SCNR"."POSITION_ID")
26 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
28 - access("TERM"."SEC_TYPE_ID"="SECT"."SEC_TYPE_ID"(+))
34 - filter("CNTL"."VALUE_DT"=TO_DATE(' 2011-03-17 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"CNTL"."FIRM_CODE"='LLI' AND "CNTL"."LOAD_STATUS"='PROCESSED')
36 - access("CNTL"."LOAD_ID"="POS"."LOAD_ID")
38 - access("POS"."POSITION_ID"="SENS"."POSITION_ID")
39 - filter("TERM"."AXYSID" IS NOT NULL)
40 - access("POS"."SEC_ID"="TERM"."SEC_ID")
42 - access("TERM"."MOODYS_RATING"="M"."ID"(+))
44 - access("TERM"."SP_RATING"="S"."ID"(+))
47 - access("TERM"."ISSUER_ID"="ISS"."ISSUER_ID"(+))
SQL>