OR-Expansion
옵티마이저가 OR 조건을 union all 형태로 변경해 주는 경우를 OR-Expansion 이라고 한다
힌트
Use_concat : OR-Expansion을 유도
No_expand : OR-Expansion을 방지
OR-Expansion 기능을 사용하지 못하게 하려면
_no_or_expansion parameter = true로 설정한다
SELECT /*+ use_concat index(B) */ *
FROM TAB_P001 B
WHERE ( B.TAG_STYLE_NO LIKE :P_STYLE_NO||'%'
OR B.STYLE_NO LIKE :P_STYLE_NO||'%' )
AND B.SEASON_YEAR LIKE :P_SEASON_YEAR
=> SELECT *
FROM TAB_P001 B
WHERE B.TAG_STYLE_NO LIKE :P_STYLE_NO||'%'
AND B.SEASON_YEAR LIKE :P_SEASON_YEAR
UNION ALL
SELECT *
FROM TAB_P001 B
WHERE B.STYLE_NO LIKE :P_STYLE_NO||'%'
AND B.SEASON_YEAR LIKE :P_SEASON_YEAR