IT/DataBase

[Oracle]view(뷰)

알 수 없는 사용자 2022. 11. 25.
반응형

목차

    view는 가상의 테이블을 의미, view는 데이터는 없고 원본 테이블에 가서 데이터를 불러오는 SQL query만 저장되어 있음
    사용자가 해당 view를 사용하는 SQL를 실행할 때만 view에 들어 있는 쿼리가 실행됨

     

    -- 간단한 view 생성
    CREATE OR REPLACE VIEW v_emp1
    AS SELECT empno, ename, hiredate
       FROM emp;   
    -- view 조회 시 아래처럼 결과가 표시됨(emp테이블에서 데이터를 조회해 )
    SELECT * FROM v_emp1;

    view 조회

     

    view를 생성하면 오라클은 해당 view 정보를 딕셔너리에 저장한 다음 사용자가 view를 사용할 때만 view의 서브쿼리가 실행되어 원본 테이블에서 데이터를 가져옴
    ※ 이 의미는 평소에 이 view에는 데이터가 없다는 뜻이기도 함
    view에는 제약조건이나 인덱스 등을 생성할 수가 없음

    -- emp table과 dept 테이블을 조회하여 사원이름과 부서 이름을 출력하는 view생성(부서번호로 조인) 
    CREATE OR REPLACE VIEW v_emp
    AS
    	SELECT e.ENAME, d.DNAME 
    	FROM emp e, dept d
    	WHERE e.DEPTNO = d.DEPTNO
    ;

    매번 위와 같은 복잡한 서브쿼리를 생성해서 조회하기가 귀찮고 힘들 때 view를 생성 해 놓고 간단하게 조회할 수 있다는 것이 view의 큰 편리함임
    그러나 view를 잘못 사용할 경우 성능 저하의 주 원인이 되는 경우도 많음
    view안에는 가급적 INTERSECT, MINUS, UNION 같은 집합 연산자는 사용하지 않는 것이 성능 향상에 도움이 된다는 점도 기억할 것

    출처 : 오라클 SQL과 PL/SQL 책

    반응형

    댓글

    💲 추천 글