임의 조인 요청
JOIN 조인 요청 요소를 사용하여 옵티마이저가 특정 순서로 두 개의 테이블을 조인하기 위한 적절한 메소드를 선택하도록 지정할 수 있습니다.
테이블은 액세스 요청 하위 요소에 의해 지정된 대로 로컬 또는 파생된 테이블이거나, 조인 요청 하위 요소에 의해 지정된 대로 조인 조작의 결과일 수 있습니다. 파생된 테이블은 다른 하위 선택의 결과입니다. 이 조인 요청 요소는 복합 유형 anyJoinType에 의해 정의됩니다.
XML Schema
<xs:complexType name="anyJoinType">
<xs:complexContent>
<xs:extension base="joinType"/>
</xs:complexContent>
</xs:complexType>
설명
복합 유형 anyJoinType은 추상 유형 joinType의 단순 확장입니다. 새 요소 또는 속성이 추가되지 않습니다.
다음 예는 JOIN 조인 요청 요소를 사용하여
테이블 세트에 대해 특정 조인 순서를 강제 실행하는 방법을 설명합니다.
SQL statement:
select s.s_name, s.s_address, s.s_phone, s.s_comment
from "Samp".parts, "Samp".suppliers s, "Samp".partsupp ps
where p_partkey = ps.ps_partkey and
s.s_suppkey = ps.ps_suppkey and
p_size = 39 and
p_type = 'BRASS' and
s.s_nation in ('MOROCCO', 'SPAIN') and
ps.ps_supplycost = (select min(ps1.ps_supplycost)
from "Samp".partsupp ps1, "Samp".suppliers s1
where "Samp".parts.p_partkey = ps1.ps_partkey and
s1.s_suppkey = ps1.ps_suppkey and
s1.s_nation = s.s_nation)
order by s.s_name
Optimization guideline:
<OPTGUIDELINES>
<JOIN>
<JOIN>
<ACCESS TABLE='"Samp".PARTS'/>
<ACCESS TABLE='S'/>
</JOIN>
<ACCESS TABLE='PS'>
</JOIN>
</OPTGUIDELINES>JOIN 조인 요청 요소는
기본 subselect의 PARTS 테이블이 SUPPLIERS 테이블과 함께 조인되고 이 결과가 PARTSUPP 테이블에 조인되도록 지정합니다. 옵티마이저는 이 특정 조인 시퀀스의 조인 메소드를 비용 기반 방식으로 선택합니다.