[SQL] Window Function (Rank)
·
SQL
1. Window Function Analytic Function으로도 불러며 행과 행간의 관계를 쉽게 정의할 수 있는 함수들입니다. group by와 비슷하게 데이터를 집계해 주지만 큰 차이점은 데이터 집합의 레벨을 유지한다는 데에 있습니다. 그중 Rank관련 함수에 대해 알아보겠습니다. 2. 사용법 다음과 같이 직원 관련 테이블에서 급여 순위(salary)를 조회할 때, 2-1. dense_rank : 공동 순위가 있을 경우 다음 순위는 밀리지 않고 이어짐 SELECT name, salary, dense_rank() over (order by salary desc) as salary_rank FROM EMP; 2-2. row_number : 공동 순위가 있더라도 고유한 순위가 매겨짐 SELECT na..
[Oracle] 튜닝을 위한 간단한 힌트 정리
·
SQL
인덱스 튜닝 (/*+ INDEX()*/ ) 1. 튜닝 전 SQL (0.9초) SELECT /*+ FULL(A) */ COUNT(*) FROM TB_CUST A WHERE A.CUST_NM LIKE 'AB%' AND EXISTS ( SELECT '1' FROM TB_ORD C WHERE C.CUST_ID = A.CUST_ID AND C.PRDT_CD LIKE 'AB%' ) ; 문제점 TB_CUST테이블의 CUST_NM 칼럼이 변별력 있는 칼럼임에도 인덱스를 생성하지 않았습니다. TB_ORD테이블의 CUST_ID 칼럼이 변별력 있는 칼럼임에도 인덱스를 생성하지 않았습니다. 반복적인 풀 스캔은 부하를 줍니다. 2. 튜닝 후 SQL (0.03초) CREATE INDEX TB_CUST_IDX01 ON TB_CUS..