반응형 materialize2 WITH 이용한 TEMP TABLE 사용 테스트 DBMS : oracle 19.3 - WITH 이용한 TEMP TABLE 사용 테스트 - "_in_memory_cdt" 파라미터로 /*+ materialize */ 힌트 사용하여도 물리적으로 테이블 생성하지 않는 경우 있다 - ALTER SESSION SET "_in_memory_cdt" = OFF ; 명령으로 제어 가능(ON/OFF) - xplan 에서 reads 가 buffers 가 많은 것은 temp table i/o는 direct path i/o 여서 SGA 를 경유하지 않음(즉 buffers + reads 가 총 i/o) with 문으로 temp table 만들기 WITH T1 AS (SELECT /*+ MATERIALIZE */ * FROM SK.TAB1 ) SELECT (SELECT COUN.. 2023. 7. 21. WITH 문 사용(임시테이블, 프로시저, 펑션) 및 동작방식 - WITH 절은 2가지 동작 방식이 있다. Materialize 방식 : 임시 테이블을 생성 후 WITH 절의 결과를 저장하며, 반복 호출 시 쿼리를 실행하지 않고 임시 테이블에 저장된 결과를 사용한다. Inline 방식 : 임시 테이블을 생성하지 않고 Inline View 형태로 수행하며, 참조된 횟수만큼 반복적으로 쿼리를 실행한다. - 동작 방식은 (MATERIALIZE, INLINE) 힌트로 제어가능하다. - 힌트 없을 시 2번 이상 수행되면 Materialize, 1회만 수행되면 Inline View 로 결정됨 WITH 절 임시테이블 선언 WITH EMP_W1 AS (SELECT DEPARTMENT_ID, SUM(SALARY) AS SAL FROM HR.EMPLOYEES GROUP BY DEPA.. 2022. 7. 1. 이전 1 다음 반응형