#39_140806_TUNING_SQL 재작성
# SQL 재작성 문제104. 아래의 SQL을 재작성하시오(아래처럼 조인을 안하고도 똑 같은 결과가 나오도록 하시오) # 튜닝 전select decode(no,1,deptno,2, null), sum(sal) from emp e, (select rownum no from dual connect by level <=2 ) d group by decode(no,1,deptno,2, null) order by decode(no,1,deptno,2, null);# 튜닝 후SELECT deptno, SUM(sal)from EMPGROUP BY ROLLUP(deptno); 문제105. 아래의 SQL을 재작성 하시오(조인을 안하고도 똑 같은 결과가 나오도록 하시오) # 튜닝 전select empno, ename,sa..
더보기
#39_140806_TUNING_TUNING ADVISOR
# TUNING ADVISOR l SQL 프로파일 : SQL은 그대로 두고 실행계획만 최적의 실행계획으로 변경하는 기능 문제100. 튜닝전 SQL을 SQL tuning advisor 에게 맡겼을 때 결과 select /*+ optimizer_features_enable('10.2.0.3') merge(v) */ ename, sal, substr( totalsal,1,10) maxsal, substr(totalsal,11,10) minsal, substr(totalsal,21,10) sumsal from (SELECT ename, sal, (SELECT rpad(MAX(sal),10,' ') || rpad(MIN(sal),10,' ') || rpad(SUM(sal),10,' ') FROM EMP ) as ..
더보기
#35_140801_TUNING_SUBQUERY TUNING
# SUBQUERY TUNING l 서브쿼리를 쓸 수 있는 절 1. select- scalar subquery2. from- in line view3. where- subquery4. having- subquery5. order by- scalar subquery 문제70 이름, 월급, 부서번호, 사원 테이블 전체의 최대월급, 사원 테이블 전체의 최소월급,사원 테이블 전체의 토탈월급을 출력하시오 # 튜닝 전SELECT ename, sal, deptno, (SELECT MAX(sal) FROM emp),(SELECT min(sal) FROM emp), (SELECT sum(sal) FROM emp)FROM EMP; db block gets 0consistent gets 67physical reads 0# ..
더보기
#33_140729_TUNING_INDEX SCAN
# INDEX SCAN 점심문제14. 이름, 월급, 부서번호, 자기가 속한 부서번호별 평균월급을 출력하시오(아래의SQL을 각각 출력해서 튜닝전후가 비교가 되도록 레포팅) 분석함수 : listagg, max(sal) over () …. 1. 분석함수 이용2. 분석함수 이용하지 않은 것 # 튜닝 전SELECT ename, sal, deptno, AVG(sal) OVER(PARTITION BY deptno)FROM EMP;db block gets 0consistent gets 56physical reads 0# 튜닝 후SELECT e.ename, e.sal, e.deptno, f.averFROM EMP e, (SELECT deptno, AVG(sal) aver FROM EMP GROUP BY deptno) f..
더보기