Stored Procedure(SP)는 PreparedStatement를 사용하는 것 처럼 DB단에서부터 컴파일을 미리 해놔 쿼리 실행 속도를 높이는 방법으로 실행을 할 수 있다.

하지만 문제는 SP는 조인을 할 수 없다.

이럴때 View(뷰)를 사용하면 된다.

View는 미리 컴파일을 하지는 않는다고 하지만 테이블 조인으로 인해 속도 문제가 발생할 경우 View 또한 쿼리를 직접 날려 수행하는 것보다 훨씬 빠르게 문제를 해결할 수 있다.

CREATE VIEW 뷰이름_V AS
SELECT A.OOO 
		, A.PPP
		, A.TTT
		, B.KKK
		, B.GGG
FROM TABLE1 A
LEFT OUTER JOIN TABLE2 B
ON A.OOO = B.OOO
WHERE 1=1
AND A.TTT = '신규'
AND B.DateKey >= (CONVERT(VARCHAR(10), DATEADD(YEAR, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)), 112))	-- 작년 시작일

이런식으로 쿼리를 작성해 날리면 뷰가 생성된다.

+ Recent posts