속도 개선 방안 문의. 0 2 2,822

by 워니아부지 속도개선 hint index [2014.03.06 16:09:41]



select a.c01, a.c02, a.c03, a.c04, sum( a.c06 ), sum( a.c07 ), sum( a.c08 ), sum( a.c09 )
from table1 a
where a.c10 = ( select max(b.c10) from table1 b
   where a.c01 = b.c01 and a.c02 = b.c02 and a.c03 = b.c03 and a.c04 = b.c04 and a.c05 = b.c05 )
and a.c05 = '1'
group by a.c01, a.c02, a.c03, a.c04
;

위와 같은 형식으로 데이터를 조회해야 합니다.
table1 에는 1분 단위로 c01, c02, c03, c04, c05가 동일한 들어오는데
c10에는 1분 단위의 시각이 들어오고 이 c10으로  최종 시각의 data로 원하는 형식으로 추출해야 합니다.

table1에 data가 많아지다보니 속도가 나지 않습니다.

index hint 나 속도 개선을 위한 방법 등을 알려 주시면 감사하겠습니다.
by 마농 [2014.03.06 16:42:17]
SELECT *
  FROM (SELECT a.*
             , ROW_NUMBER() OVER(PARTITION BY c01, c02, c03, c04, c05 ORDER BY c10 DESC) rn
          FROM table1 a
         WHERE c05 = '1'
        )
 WHERE rn = 1
;

by 워니아부지 [2014.03.06 17:53:16]

아직 적용해 보진 않았지만...미리 감사드립니다...ㅎㅎ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입