쿼리튜닝
-
튜닝 예시 #3Logical 2021. 7. 28. 13:28
* 부제 : 무분별한 뷰 사용을 지양해야하는 이유 & 힌트가 필요한 이유 속도개선 : 2483ms → 64ms -- 원본쿼리 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT G.상품번호, G.가격, G.kind, G.상품애칭확인, G.상품애칭, 상품명 , [dbo].[fn_Get상품이미지경로](g.상품번호, 3) as 상품이미지경로 , dbo.fn_Get할인액(g.상품번호) as 할인액 , (g.가격-dbo.fn_Get할인액(g.상품번호)) as 할인된가격 , C.brand_en, C.brand_seq, G.bcomcat, G.btopcat, G.bmidcat , (select cnt_month from 상품별판매통계 where 상품번호=c.상품번호)..
-
튜닝 예시 #2Logical 2021. 7. 26. 13:18
속도개선 : 3432ms → 220ms -- 원본쿼리 SELECT * , CASE WHEN Gubun = 2 THEN [dbo].[fn_Get상품이미지경로](상품번호, 1) else '' END AS 상품이미지경로 FROM 문의사향뷰 WHERE site='D' and Step=0 ORDER BY regdate DESC OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY -- 10 -- CPU 시간 = 3421ms, 경과 시간 = 3432ms -- AllQnA라는 QandA 일반 Q&A테이블과 GoodBBS라는 상품문의 테이블을 -- union all 해놓은 뷰를 통해 쿼리 수행 -- 해당 뷰는 여러용도로 활용하기 위해 가져올수 있는 대부분의 컬럼을 명시한 형태 -- 튜닝쿼리 select ..
-
튜닝 예시 #1Logical 2021. 7. 23. 15:51
속도개선 : 1303ms → 23ms -- 원본쿼리 select count(*) from ( select o.userid from 주문 o , ( select userid from 배송 d where d.배송일자코드='20210702_1555' and d.userid not in (N'koukann',N'd_press',N'rakuten1234',N'amazon1234',N'sunbuy1') group by userid ) a where o.주문상태='4' and o.userid = a.userid Collate Japanese_CI_AI and convert(varchar(10),o.결제일시,121)0 ) b; -- 2035 -- CPU 시간 = 1297ms, 경과 시간 = 1303ms -- 약 132..