제가 다루고 있는 서버는 응답 리미트 시간이 6초 라서 쿼리문은 5초 이내로 끊어야 하는 상황입니다.
그런데 한 테이블만 다루는데도 불구하고 데이터가 약 200만 건에 달하고 검색시간이 20초 정도 걸려서 죽겠네여
제가 쓴 쿼리는
select *from MWIPLOTHIS where
TRAN_TIME >= ’20090120’
AND TRAN_TIME <= ’20090201’
AND OPER = ’ ’
and OLD_OPER = ’A0000’
AND FACTORY = ’CUSTOMER’
저 부분에서 날짜를 없애면 약 200만건 정도 되고 20초 이상 걸립니다. ( 날짜 있으면 거의 바로 되요 : 간격이 10일 이상되면 슬슬 느려짐 ) 그런데 불행하게도 날짜를 없애야 하는 상황입니다!!!
나온 결과를 토대로 저 쿼리를 썼을때 항상 나오는 다른 컬럼값을 조사해서 조건식에도 반영을 해 봤는데요
그래서 AND 문을 약 10개 정도 까지 늘려봤는데 데이터는 동일하게 나오지만
경우에 따라서 시간이 더 늘기도 하였고
시간이 줄어드는 경우도 있었지만 14초 정도 나왔습니다.
어떻게 해결할 수 있는 방법이 없을까요 ㅠㅠ
조인이나 유니온같은것도 안쓰고 순수하게 AND 만 썼는데도 시간이 꽤 오래걸리니 답답할 따름입니다 흑흑
ps:sql dev 2008쓰는데 비쥬얼스튜디오처럼 디버거랑 브레이크 포인트라도 있으면 좋겠네요ㅎㅎ;;