반응형

Oracle,  Dual 이란?  Dummy? 

 

듀얼은 본래 테이블로서, 데이터베이스 엔진은 DUAL을 SELECT FROM할 때 테이블 상의 디스크 입출력을 수행하였다.

이러한 디스크 입출력은 일반적으로 논리적인 입출력으로(물리적인 디스크 접근을 동반하지 않음) 디스크 블록들이 보통 메모리에 이미 캐시되어 있는 상태였다.

이로 말미암아 듀얼 테이블로의 논리적 입출력의 양이 매우 컸다.

10g 릴리즈 1을 기점으로 오라클 데이터베이스는 최적화되어, 데이터베이스는 듀얼 테이블이 실제로 존재하더라도 더 이상 듀얼 테이블에 물리적·논리적 입출력을 수행하지 않는다.

 

SELECT 1+1 FROM DUAL;
SELECT 1 FROM DUAL;
SELECT USER FROM DUAL;
select sysdate from dual;

ex) SELECT 시퀀스.NEXTVAL FROM DUAL;
ex) SELECT SYSDATE FROM DUAL;
ex) SELECT CURRENT_DATE FROM DUAL;
ex) Merge into 내부에서 사용
    MERGE INTO 테이블명  별칭
    USING 대상테이블/뷰  별칭
    ON 조인조건
    WHEN MATCHED THEN
      UPDATE SET
       컬럼1=값1
       컬럼2=값2
    WHEN NOT MATCHED THEN
      INSERT (컬럼1,컬럼2,...)
           VALUES(값1,값2,...);

 

 

반응형

+ Recent posts