optimizer OR transformation
- From: "LS Cheng" <exriscer@xxxxxxxxx>
- To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
- Date: Tue, 1 Aug 2006 16:01:53 +0200
Hi
I have some queries with ORs in 8i which ahd this plan
0 SELECT STATEMENT Optimizer=RULE
1 0 SORT (ORDER BY)
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'S_LST_OF_VAL'
3 2 INDEX (RANGE SCAN) OF 'S_LST_OF_VAL_U2' (UNIQUE)
in 9i this changed to
0 SELECT STATEMENT Optimizer=RULE
1 0 SORT (ORDER BY)
2 1 CONCATENATION
3 2 TABLE ACCESS (BY INDEX ROWID) OF 'S_LST_OF_VAL'
4 3 INDEX (RANGE SCAN) OF 'S_LST_OF_VAL_U1' (UNIQUE)
5 2 TABLE ACCESS (BY INDEX ROWID) OF 'S_LST_OF_VAL'
6 5 INDEX (RANGE SCAN) OF 'S_LST_OF_VAL_U1' (UNIQUE)
7 2 TABLE ACCESS (BY INDEX ROWID) OF 'S_LST_OF_VAL'
8 7 INDEX (RANGE SCAN) OF 'S_LST_OF_VAL_U1' (UNIQUE)
9 2 TABLE ACCESS (BY INDEX ROWID) OF 'S_LST_OF_VAL'
10 9 INDEX (RANGE SCAN) OF 'S_LST_OF_VAL_U1' (UNIQUE)
I was wondering which parameter (hidden of course) affects this change of
plans?
I have checked _or_expand_nvl_predicate and _no_or_expansion but doesnt seem
they are affceting the behaviour.
Using RBO by the way.
Thanks
Other related posts:
optimizer OR transformation