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

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 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
9342 merge replication 오류 [1] ilovejsp 2016.05.25 2385
» 월 시점 별 최신 데이터를 가져오는 쿼리 질문 드립니다. [8] 호머 2016.05.25 3349
9340 MS-sql 2005에서 로그인 계정 삭제가 안 됩니다. [2] hsp-user 2016.05.24 3561
9339 파일그룹 백업 & 복원 질문드립니다. [1] HoyaSoft 2016.05.24 2582
9338 sql server2005 -> sql server2014 마이그레이션 관련 설까치 2016.05.23 2368
9337 SQL 쿼리 변수 관련. [2] 세민 2016.05.23 2346
9336 update 여부 ? [2] 희망나라 2016.05.22 2867
9335 리뉴얼 SP 관리어떻게들 하나요 [2] 장성원_305526 2016.05.20 3053
9334 통계쿼리 문의.. [5] S.GERRARD 2016.05.19 2382
9333 연결된 서버 셋팅 관련 문의 드립니다. [2] 아싸라비아콜롬비아 2016.05.19 5349
9332 쿼리 질문입니다. [1] l1j2e3 2016.05.19 2395
9331 데이터 가져오기 질문입니다. [4] sql배우고자하는자 2016.05.19 6323
9330 서비스 관련 질문입니다. [15] 달님별님코자 2016.05.19 3405
9329 ms sql에서 자바클래스 호출할 수 있나요? [2] 엘시아 2016.05.18 2571
9328 그룹을 지어 ~ 외 몇건으로 표현을 하고 싶은데요. [4] DOOLLY 2016.05.18 6419
9327 안녕하세요. SQL 백업 관련.. [8] 세민 2016.05.17 2312
9326 방금실행한쿼리 롤백할방법없나요? [9] 후알유? 2016.05.17 18283
9325 DB 용량 축소 관련 문의 드립니다. [1] Donar 2016.05.17 3632
9324 복원 실행시 오류가 나서 문의드립니다. [1] 기대_277129 2016.05.16 2619
9323 mssql --> oracle 제발 봐주세요! ㅠㅠ 재히루 2016.05.16 2225





XE Login