Function 수행횟수 확인 TEST
1.TEST Function 생성
create or replace function
Scott.F1(p_num IN number) return number is v_num number;
begin
select max(e.empno)
into v_num
from emp E
where e.deptno = p_num;
return v_num;
end;
/
2.원본 SQL문 Trace 수행
- 원본 Trace 아래에 Funtion 내부적으로 수행된 SQL문에 대하여 Trace가 남는다.
select D.DEPTNO,scott.F1(D.DEPTNO) f_deptno
from scott.DEPT D
********************************************************************************
- Funtion 내부 쿼리 내역
SQL ID: dxa9c0qzbrxrt Plan Hash: 2083865914
SELECT SUM(E.EMPNO)
FROM
EMP E WHERE E.DEPTNO = :B1
- Function 내부의 Sum하는 SQL문이 바인드변수(:B1)을 바꾸어 가면서 4회 반복하여 Function을 호출한다.
- Function Call의 호출 수를 최소화하거나 Function 내부의 SQL문을 개선하는 것을 생각해 볼 수 있다.
'1. IT Story > DB' 카테고리의 다른 글
Oracle 11g Upgrade 11.2.0.1 -> 11.2.0.4 (DB생성된 후 패치) SILENT MODE (0) | 2015.08.06 |
---|---|
Oracle 서버 버전별 기능비교(12c New Features) (0) | 2015.08.04 |
AWR Report 기초 (0) | 2015.08.04 |
Oracle Database Appliance(X5-2) (0) | 2015.07.30 |
DECODE Function Test (0) | 2015.07.29 |
RAC& ASM to Single& Filesystem Clone DB Create (0) | 2015.07.29 |
Oracle Data Masking TEST2 추가내용 (0) | 2013.04.30 |
Oracle Data Masking Constraints/Index TEST1 (0) | 2013.04.30 |