[Database] WITH 구문

SQL WITH 구문이란?

필요 시 참조할 수 있는 임시테이블, 가상테이블을 생성하는 구문으로 생각하면 됩니다.

 

운영 Database에서는 작성한 쿼리에 따라 큰 성능 차이를 보일 정도로 중요합니다.

그 중 성능개선을 해줄 수 있는 WITH 구문에 대해서 알아봅시다.

 

WITH 구문 장점 : 

1) 쿼리를 작성하다보면 동일한 쿼리를 반복 사용하는 경우 WITH 구문으로 성능 개선

2) 긴 쿼리 WITH 구문 사용 시 SELECT 에서 가독성을 높일 수 있습니다.

3) 요청 시 저장된 데이터만 처리하면 되므로 I/O 처리량 대폭 감소로 인해 SQL 성능개선 

 

WITH 구문 예시

WITH TEST AS(
	-- TEST 쿼리작성
    SELCT *
    FROM 테이블
    )
    
, TEST2 AS (      -- 두개 이상의 구문 작성 시
	-- 쿼리작성
)

SELECT *
FROM TEST  -- 실행 시 WITH 구문 TEST 임시테이블 호출

TEST , TEST2 라는 임시테이블을 생성하고 필요 시 호출

 

WITH 별칭1 AS (

 

)