SELECT total_infocenter_id,mdno,serviceagency,special_infocenter_name,url
FROM
(
SELECT c.total_infocenter_id,a.mdno,a.serviceagency,b.special_infocenter_name,a.url
, ROW_NUMBER() OVER(PARTITION BY serviceagency ORDER BY DBMS_RANDOM.VALUE) rn
, COUNT(*) OVER(PARTITION BY serviceagency) cnt
FROM metadata a, special_infocenter b, total_infocenter c
where a.dbname!='17' and a.deldate='12345678'
and a.serviceagency!='0765' and a.serviceagency!='3303' and a.serviceagency=b.agency
and b.total_infocenter_id=c.total_infocenter_id
)
WHERE rn / cnt <= 0.01
group by total_infocenter_id,mdno,serviceagency,special_infocenter_name,url
order by total_infocenter_id,serviceagency,mdno
예전에 마농님의 도움에 힘입어 쿼리를 작성했는데 그안에 필요한것들을 넣긴 넣었습니다만..
속도면에서 너무 느린관계로 질문을 드립니다. 인덱스는 다 생성이 되어있는데요
너무 느려서 어떻게 하면 될지.. 방법좀 알려주시면 안될까요? 예전에 비슷한걸로 문의를 드린적이 있는데..
그걸 비교하면서 봐도 전혀 답이 안나오네요,..ㅠㅠ