데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

     date         value frequence

2015-12-26    10         m

2015-11-20    11         m

2016-10-22    13         m

2016-06-02    15         m

2016-04-01      9         m

2016-03-24      4         m

위와 같은 형태의 테이블이 있습니다.

예시로 그리진 않았지만 분포도는 freq가 d인 데이터는 4800만건, m인 데이터는 200만건 정도가 테이블에 있습니다.



위와 같은 데이터에서 매월말일 리스트를 만들어서 row별 말일에 가장 가까운 날짜의 데이터를 가져오고 싶습니다.

(이때 frequence가 m인 데이터만 가져옵니다.)

     date        value

2015-12-31   10

2015-11-30   11

2015-10-31   13

2015-09-30   15

2015-08-31   15

2015-07-31   15

2015-06-30   15

2015-05-31     9

.
.
.

위와 같은 월 말일 기준 리스트에 가장 가까운 날짜의 value값을 붙여야 하는데요...

쿼리 하나로 해결하려 했으나 제 인덱싱과 쿼리 짜는 수준의 한계인지 너무 느립니다.

위와 같은 상태의 DB에서 해당 쿼리를 1초 이내로 뽑는 방법이 있을까요?


select id, dt, max(ddt) ddt
from (
  select a.id id, a.dt dt, b.ddt ddt from @tempMonth a
  join table b on a.id = b.id and a.dt >= b.ddt) a
group by id, dt


위와 같이 매월 말일에 말일보다 작은 날짜의 데이터를 모두 join한 후 max값을 가져왔습니다.

느릴 수 밖에 없을 구조의 쿼리인듯해서 개선할 수 있는 방법이 있을까요.

아니면 커서를 돌려서 한줄 씩 처리하는 방법밖에 없나요?

No. Subject Author Date Views
9358 SQL Server 2012 평가판에서 정식 버젼으로 업그레이드하기 질문 드립니다. [2] 지니~~ 2016.06.01 3094
9357 순수한 작업 시간을 구하고 싶습니다. [4] 주크 2016.06.01 2740
9356 잠금 리소스에서 다른 프로세스와의 교착 상태가 발생하여 실행이 중지되었습니다 [11] sniper7000 2016.06.01 9431
9355 Procedure 형상관리 질문 [2] melong0124 2016.05.31 4144
9354 SQL Server 2008 -> 2014 마이그레이션 [5] 샤오린 2016.05.31 2433
9353 로컬테이블의 자료를 서버로 옮기기 [4] 희망나라 2016.05.31 2506
9352 조인에 대해서..? [1] 문상연 2016.05.30 2467
9351 mssql 시간 구하기 질문드려요 [3] sql배우고자하는자 2016.05.28 3877
9350 현재 SQL2000 을 사용중인데요... [4] 랜덤의세계 2016.05.27 2241
9349 파일그룹 백업 & 복구 질문드려요..(끌어올림) [3] HoyaSoft 2016.05.27 2217
9348 간단한 문법 질문.. [2] 후알유? 2016.05.27 2043
9347 임시테이블 인덱스 [2] 희망나라 2016.05.26 2735
9346 MS SQL 정기점검..? [1] 뛰어 2016.05.26 4150
9345 Identity on 질문드립니다. [15] 식뽕 2016.05.26 3191
9344 큰 사이즈의 데이터 베이스 네트워크 백업 시 오류 [3] 익스 2016.05.26 2568
9343 sql server 2012 장애 문의 ㅜ_ㅜ [1] MSG 2016.05.25 2304
9342 merge replication 오류 [1] ilovejsp 2016.05.25 2390
» 월 시점 별 최신 데이터를 가져오는 쿼리 질문 드립니다. [8] 호머 2016.05.25 3466
9340 MS-sql 2005에서 로그인 계정 삭제가 안 됩니다. [2] hsp-user 2016.05.24 3605
9339 파일그룹 백업 & 복원 질문드립니다. [1] HoyaSoft 2016.05.24 2582





XE Login