코드 :
--오늘의 자습 시간 문제_2026_01_29
--문제1. 아래의 악성 SQL에 대한 SQL trace 정보를 생성하세요 (결과를 캡쳐해서 올리세요)
select /*+ leading(e d) use_nl(d) */ e.ename, e.sal, d.loc
from emp e, dept d
where e.deptno = d.deptno and d.loc='DALLAS';
코드 :
--문제2. (이수자 평가 예상 문제10) 위의 SQL의 검색속도를 가장 빨리 높일 수 있는 인덱스를 생성하세요.
--(버퍼의 갯수가 가장 작게 나오면 됩니다.)
--조인 방법은 무조건 nested loop 조인이 되게하시오
--인덱스 생성후 다시 SQL trace 를 생성해서 문제1번의 SQL trace 결과를 튜닝전으로 하고
--문제2번의 SQL trace 결과를 튜닝후로 해서 캡쳐해서 제출하세요
--인덱스 생성
create unique index emp_deptno_ename_sal on emp(deptno, ename, sal);
create unique index dept_deptno_loc on dept(deptno,loc);
--인덱스 확인
select index_name, index_type, table_owner
from user_indexes
where table_name in ('EMP','DEPT');
--튜닝 후
select /*+ leading(d e) use_nl(e) */ e.ename, e.sal, d.loc
from emp e, dept d
where e.deptno = d.deptno and d.loc='DALLAS';