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
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 448
9370 cte 안에서 ROW_NUMBER()? [3] 밥먹는푸우 2016.06.05 2738
9369 오라클 SQL 질문입니다.!! [2] 에휴 2016.06.05 3586
9368 다른 테이블의 각각의 결과값을 한번에 보고 싶어요ㅠㅠㅠ [2] 시랑 2016.06.05 2494
9367 sa사용자 암호 자동변경 문제점좀 도와주세요 [1] 뉴곰이 2016.06.04 2945
9366 mssql2014 시퀀스 질문드립니다. [1] 식뽕 2016.06.03 2646
9365 db 백업 방법 문의 [1] WildWindK 2016.06.03 3018
9364 데드락인데, 정보가 별로 남지 않는데, 이 경우 확인 할 방법이 없을까요? [1] 군고구마 2016.06.03 3031
9363 일정 기간 근무 일 수 구하기 질문 합니다. [1] 후대 2016.06.02 3321
9362 where 단순한문의 드립니다. [2] 아싸라비아콜롬비아 2016.06.02 2615
9361 SQL Server 구성관리자에 대해서 질문드립니다! [5] 마스터를위하여 2016.06.02 2969
9360 DB Link후 쿼리 질문입니다. [3] 희망나라 2016.06.01 2832
9359 sqlserver 2005데이터베이스백업 후 sqlserver 2014에 복원 관련해서... [2] 깔샴이 2016.06.01 2872
9358 SQL Server 2012 평가판에서 정식 버젼으로 업그레이드하기 질문 드립니다. [2] 지니~~ 2016.06.01 3123
9357 순수한 작업 시간을 구하고 싶습니다. [4] 주크 2016.06.01 2760
9356 잠금 리소스에서 다른 프로세스와의 교착 상태가 발생하여 실행이 중지되었습니다 [11] sniper7000 2016.06.01 9936
9355 Procedure 형상관리 질문 [2] melong0124 2016.05.31 4292
9354 SQL Server 2008 -> 2014 마이그레이션 [5] 샤오린 2016.05.31 2458
9353 로컬테이블의 자료를 서버로 옮기기 [4] 희망나라 2016.05.31 2551
9352 조인에 대해서..? [1] 문상연 2016.05.30 2487
9351 mssql 시간 구하기 질문드려요 [3] sql배우고자하는자 2016.05.28 3926





XE Login