어제 평균 구하는 쿼리의 속도 관련 질문(속도향상 질문) 0 0 931

by ksbgenius [2015.08.06 14:57:56]


일전에 질문드린 내용입니다.

http://www.gurubee.net/article/65530

http://www.gurubee.net/article/65539

 

데이터가 몇개 없을 경우에는 시간이 얼마 걸리지 않았는데,

데이터가 좀 많아지게 되다보니깐 쿼리 결과를 가져오는데, 몇분이나...ㅎㄷㄷ;;; 걸리더라구요 ㅎㄷㄷ;;

 

SELECT length
     , MIN(dt) dt
     , MAX(v1) v1
     , MAX(v2) v2
     , MAX(v3) v3
     , MAX(v4) v4
     , AVG(CASE WHEN rn <= 5 THEN v3 END) avg5_v3_asc
     , AVG(CASE WHEN cnt - rn < 5 THEN v3 END) avg5_v3_desc
  FROM (SELECT m.length, m.dt
             , m.v1, m.v2, m.v3, m.v4
             , COUNT(CASE WHEN m.dt >= s.dt THEN 1 END) rn
             , COUNT(*) cnt
          FROM cams_data m
             , cams_data s
         WHERE m.vcode = 'TTest7'
           AND m.wdate = '20150625'
           AND m.vcode  = s.vcode
           AND m.wdate  = s.wdate
           AND m.length = s.length
        -- AND m.dt    >= s.dt
         GROUP BY m.length, m.dt
             , m.v1, m.v2, m.v3, m.v4
       ) a
 GROUP BY length
;

일전에 답변해주신 쿼리인데

속도 향상하는데 방법이 없을까요..?

 

데이터가 2500건 정도일경우 위 쿼리 결과는 한 2분 20초 정도 나오더라구요

====

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입