All thing of the world!

Oracle APPROX_RANK 설명 : 오라클 함수 본문

IT/Oracle DBMS

Oracle APPROX_RANK 설명 : 오라클 함수

WorldSeeker 2021. 10. 15. 11:13

* 주의 : 본 함수는 Oracle Database 18C 이상 사용가능함

 

1. 함수의 목적

    Oracle APPROX_RANK은 기존 RANK 함수의 대안으로, 지정된 Partition 그룹의 대략적인 랭킹을 RANK함수보다 매우 빠른 속도로 반환한다. 

    (개략적이라고는 하나 거의 100% 맞다, 매우 큰 데이터 범위에 유리)

 

   * approximate query를 위한 함수로, 읽는 범위가 넓은 대용량 데이터베이스를 정확도보다는 속도를 중요시하는 상황에 쓰이도록 개발되었다(속도 매우 빠름, 오차허용 범위내의 정확도). 예를 들어 BI/DW등 대용량 데이터베이스에서 집계 테이블을 별도로 만들지 않고, 바로 소스 테이블을 approximate query를 사용할 수 있다. 오라클 내장 함수 중 접두어로 [APPROX_]가 붙은 함수는 approximate query를 위한 함수이다.

 

 

2. 샘플을 통한 개념 퀵뷰

 

--부서별 총 급여 상위 10위 안에 드는 job_id를 급여 및 순위와 함께 반환.

SELECT job_id

        , APPROX_SUM(sal)

        , APPROX_RANK(PARTITION BY department_id ORDER BY APPROX_SUM(salary) DESC)

FROM employees

GROUP BY department_id, job_id

HAVING APPROX_RANK( PARTITION BY department_id ORDER BY APPROX_SUM (salary) DESC) <= 10;

 

3. 사용방법 



4. 함수 PARAMETER 설명

 

일반적인 오라클 window 함수와 동일. 

 

5. 다양한 샘플표현

 

 

끝.

 

Comments