*Full Outer Join 은 RBO 를 지원하지 않음
아래 쿼리 실행시 optimizer_mode가 RBO/CBO 에 따른 결과 비교
select name, ilja, amt
from sales full outer join customer
on sales.custID = customer.custID;
alter session set optimizer_mode=rule
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string RULE
-- 고객테이블에는 가길동, 나길동, 다길동 세건, 매출테이블에는 가길동, 다길동만 매출이 있다.
-- RBO인경우 full outer join을 지원하지 않아서 일반 내부조인처럼 나길동 데이터는 빠지게 된다.
SQL> select name, ilja, amt
2 from sales full outer join customer
3 on sales.custID = customer.custID;
NAME ILJA AMT
---------- ------ ----------
가길동 040101 10000
다길동 040102 15000
-- 이번에는 옵티마이저 모드를 CBO(Cost Based Optimizer로 바꾸어 실행해 보자)
alter session set optimizer_mode=all_rows
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string ALL_ROWS
SQL> select name, ilja, amt
2 from sales full outer join customer
3 on sales.custID = customer.custID;
NAME ILJA AMT
---------- ------ ----------
가길동 040101 10000
나길동
다길동 040102 15000
아래 쿼리 실행시 optimizer_mode가 RBO/CBO 에 따른 결과 비교
select name, ilja, amt
from sales full outer join customer
on sales.custID = customer.custID;
alter session set optimizer_mode=rule
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string RULE
-- 고객테이블에는 가길동, 나길동, 다길동 세건, 매출테이블에는 가길동, 다길동만 매출이 있다.
-- RBO인경우 full outer join을 지원하지 않아서 일반 내부조인처럼 나길동 데이터는 빠지게 된다.
SQL> select name, ilja, amt
2 from sales full outer join customer
3 on sales.custID = customer.custID;
NAME ILJA AMT
---------- ------ ----------
가길동 040101 10000
다길동 040102 15000
-- 이번에는 옵티마이저 모드를 CBO(Cost Based Optimizer로 바꾸어 실행해 보자)
alter session set optimizer_mode=all_rows
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string ALL_ROWS
SQL> select name, ilja, amt
2 from sales full outer join customer
3 on sales.custID = customer.custID;
NAME ILJA AMT
---------- ------ ----------
가길동 040101 10000
나길동
다길동 040102 15000
| 12-27 | 2769 | |||
| 12-11 | 2010 | |||
| 53 | 03-15 | 1824 | ||
| 52 | 01-31 | 1982 | ||
| 51 | 01-31 | 2934 | ||
| 50 | 01-31 | 1527 | ||
| 49 | 01-19 | 1851 | ||
| 48 | 01-11 | 1729 | ||
| 47 | 01-03 | 2289 | ||
| 46 | 12-27 | 2769 | ||
| 45 | 12-19 | 1942 | ||
| 44 | 12-14 | 1922 | ||
| 43 | 12-11 | 2010 | ||
| 42 | 12-09 | 1568 | ||
| 41 | 12-01 | 1795 | ||
| 40 | 12-01 | 2007 | ||
| 39 | 12-01 | 1445 | ||
댓글 없음:
댓글 쓰기