년월 집계 테이블의 데이터가 너무 많고 사용자가 많아서 조회속도 저하도 심하여
년도별 집계 테이블을 생성하고 년월 조건에 따라 이 두 테이블을 조인하여 데이터를 조회하고 싶습니다.
※년도별로 집계하면서 몇 개의 불필요한 Key들을 제거하여 년월 대비 10% 이하 수준으로 데이터가 집계되었습니다.
① 동적인? view로 구현하고 싶습니다.
② view로 구현이 어렵다 하더라도 오라클 오브젝트를 이용하여 하나의 뷰나 테이블처럼 사용하고 싶습니다.
└ '[강정식의 오라클 이야기]Dynamic SQL 사용방법'을 응용하여 function 을 생성하여 사용해 보았습니다만...
정의한 레코드 타입에 6백만건 정도의 데이터를 담아와서 그런건지 단순 조회는 빠르지만
가져온 데이터에 조건을 주면 인덱스가 없어서 그런건지 조회가 안 된다고 느낄정도로 느립니다.
테이블 t1
년월, 수량
테이블 t2 = 테이블 t1의 년도별 집계테이블
년도, 수량
위와 같이 2개의 테이블 t1과 t2가 있습니다.
t1 의 데이터는 2000년 1월~2013년 7월
t2 의 데이터는 2000년 ~2013년
t1과 t2를 join하여 view t3를 정의하였을 때
아래의 예1), 예2), 예3) 의 질의절로 데이터를 조회할 경우에 대응할 수 있었으면 합니다.
t2 의 년도별 집계를 조인하여 성능을 향상하기 위함입니다.
예1)
where 년월 < '201306'
예2)
where 년월 between '200904' and '201206'
예3)
where 년월 > '201102'