select a.aom, a.proj, a.type, a.blk, a.actv, a.f_actv
from
( select a.aom, a.proj, a.type, a.blk, a.f_actv,
row_number() over (partition by a.aom order by a.aom_rev desc) no
from plqty_hom a
where a.proj = 'pstobov' ( 총 2,000만건에서 100백만건으로 줄임)
) a
where no = 1
and a.err_cd is null ;
위의 sql의 속도는 partition by 절에서 속도가 저하됩니다. 데이터가 많아요.
from plqty_hom a
where a.proj = 'pstobov' 절로 100백만건정도 됩니다.
위와 같은 sql에 인덱스를 어떻게 만들면 도움이 될까해서 문의해봅니다.
즉 where 절과 파티션 바이 절의 인덱스가 유용한지를 여쭈고 싶습니다.
가령 (proj,aom_rev desc,aom )
테스트를 해 볼수 없는 환경이라서 문의 드려 봅니다.
|