안녕하세요...제가 재고 수불 query를 작성해서 델파이를 쓰고 있습니다.. 그런데 수불query를 돌리니 데이터 양에 따라
조회속도가 많이 느려 지고 있습니다..그래서 프러시저에 담아 사용 할려 하는데 어찌 해야 하느지요..?
작성되어 있는 쿼리
가령 조회일을 2016/01/01 ~2016/01/31 조회시
select distinct
품번, 창고,
( (select (입고량) from 요약테이블1
where 요약테이블1. 품번 = '99' ---> 전년도 마감시 이월수량 임의의 품번 '99' 번 부여
and 요약테이블1. 창고 = 요약테이블 . 창고
and 요약테이블1. 일자 >='20160000' --전년도 마감시 이월일자 20160000
and 요약테이블1. 일자 <='20160101' )) +
( (select (입고량) from 요약테이블2
where 요약테이블2. 품번 = '00' ---> 정상품번
and 요약테이블2. 창고 = 요약테이블 . 창고
and 요약테이블2. 일자 >='20160000' --전년도 마감시 이월일자 20160000
and 요약테이블2. 일자 <='20160131' )) -
(select (출고량) from 요약테이블3
where 요약테이블3. 품번 = '00'
and 요약테이블3. 창고 = 요약테이블 . 창고
and 요약테이블3. 일자 >='20160000' --전년도 마감시 이월일자 20160000
and 요약테이블3. 일자 <='20160131' )) as 잔고량
from 요약테이블
where 요약테이블 . 품번
and 요약테입블 . 창고
이런식의 쿼리를 작성 하였습니다...
Comment 1
-
Terry
2016.11.24 17:40
-,-....
쿼리만 수정하셔도 큰 문제 없을듯한데요?
Select
a.품번
,a.창고
,'재고' = a.전월재고
+a.당월입고
-a.당월출고
From (
Select a.품번
,a.창고
,'전월재고' = a.입고량
From 요약테이블1 a
Union All
Select a.품번
,a.창고
,'당월입고' = a.입고량
From 요약테이블2 a
Union All
Select a.품번
,a.창고
,'당월출고' = a.입고량
From 요약테이블3 a
) a
Group By a.품번
,a.창고
상기 쿼리(질문자님이 작성하신 쿼리)는 서브쿼리 형태라
한 row 수행될때마다 서브쿼리 호출 -_-;
하는 형태로 내부적으로 수행될겁니다.
데이터양이 많아질수록
속도가 느려질거에요..
상기 작성한 쿼리 참고하셔서
수정보완하신후
우선 델파이에서 쿼리 수정후
테스트해보세요.
그럼 수고하세요~