# 데이터베이스/오라클

[ORACLE] 커서 공유 테스트

dev-jjong 2023. 1. 5. 10:07
alter system flush shared_pool;

-- 1회 실행
select /* cursor_test */ empno, ename, job, sal, deptno
from EMP where empno = 7788;


select sql_id, parse_calls, loads, executions, invalidations, decode(sign(invalidations), 1, (loads-invalidations), 0) reloads
from v$sql
where sql_text like '%cursor_test%'
and sql_text not like '%v$sql%';

-- 2회 실행
select /* cursor_test */ empno, ename, job, sal, deptno
from EMP where empno = 7788;

-- 3회 실행
select /* cursor_test */ empno, ename, job, sal, deptno
from EMP where empno = 7788;


select sql_id, parse_calls, loads, executions, invalidations, decode(sign(invalidations), 1, (loads-invalidations), 0) reloads
from v$sql
where sql_text like '%cursor_test%'
and sql_text not like '%v$sql%';

parse_calls: 라이브러리 캐시에서 SQL커서를 찾으려는 요청 횟수

loads: 하드파싱을 거친 SQL 실행계획을 라이브러리 캐시에 적재한 횟수

executions: SQL을 실행한 횟수

invalidations: 커서가 무효화된 횟수. 커서가 참조하고 있는 오브젝트에 중요한 변화가 일어난 경우