2019년 1월 2일 수요일

(오라클학원/SQL학원)SQL튜닝, 오라클힌트(ORACLE Hints) 실무교육

[데이터 사이언스, DB, 파이썬]




SQL튜닝, 오라클힌트(ORACLE Hints) 실무교육 





           ÃªÂ°Âë°ÂìÂÂ,DBì Â문ê°Â를 ìÂÂí PL/SQL, ì¤ë¼í´íÂÂí¸ & SQLíÂÂë             











★ 교육개요 ★


SQL힌트/튜닝
오라클에서 SQL구문의 실행순서, 오라클 옵티마이저에 대한 이해, 고급SQL, 효과적인 Index사용, 적절한 드라이빙테이블의 선정, 데이터 액세스 경로의 변경, 조인방법의 변경, 쿼리변환의 이해, 조인방법의 이해, Application Upgrade를 위해 Oracle Hint를 적절히 사용하고 관리한다면 수분이상 걸리는 SQL문장을 수 초안에 데이터가 추출되도록 SQL튜닝 가능하죠^^, 개발자, SQL개발자, DB전문가를 위해서 반드시 알고 있어야 합니다!

본 과정을 통해 서브쿼리 및 조인의 튜닝, 그룹함수의 튜닝, 각종 인덱스에 대한 이해, 인덱스 활용법, 조인의 원리, 세미조인, 안티조인, 머지조인의 이해 및 관련된 여러가지 힌트구문과 더블어 SQL튜닝에 대한 이해를 실습을 통해 자세히 이해하게 되실 것 입니다.

철저한 실습, 실무위주의 교육으로 본 과정을 수료함으로써 고급 SQL 사용에 대한 자신감 및 SKILL을 향상시킬 수 있을 것 입니다. 



★ 수료조건 ★ 


출석률 80%이상 


★ 교육목표 ★  


DBMS_STATS 패키지에 대한 이해
오라클 옵티마이저에 대한 이해
SQL실행계획, 통계정보 및 튜닝의 도구들에 대한 이해
CBO, RBO에 대한 이해
Optimizer Mode를 변경하는 힌트
실행계획 연산자의 이해
Online Application Upgrade 힌트의 이해
Oracle Index 구조, 작동방식에 대한 이해
인덱스와 관련된 오라클 힌트에 대한 이해
Access Paths와 관련된 힌트의 이해
조인방법 및 원리에 대한 이해
조인순서, 드라이빙 테이블의 선정과 관련된 힌트의 이해
서브쿼리의 종류에 대한 이해
오라클 옵티마이저의 쿼리변환 및 관련힌트구문에 대한 이해
기타 힌트구문에 대한 이해 



★ 교육대상 ★


SQL 개발자
DBA
쿼리에 관심 있는 개발자 


★ 커리큘럼 ★ 

  • 오라클힌트 & SQL튜닝1.1 SQL문 처리과정
    1.2 커서(Cursor) & Oracle Memory
    1.3 DBMS_STATS 패키지 사용하기
    1.4 EMPTY_BLOCK, BLOCKS, HIGH WATER MARK(HWM)
    1.5 Optimizer Statistics(Table/Column 통계정보)
    1.6 Literal SQL & Bind Variable SQL(Soft Parsing/Hard Parsing)
    1.7 CURSOR_SHARING 파라미터
    1.8 튜닝의 도구 - SQL AUTOTRACE
    1.9 튜닝의 도구 – DBMS_XPLAN
    1.10 튜닝의 도구 – 10053 Event
    1.11 실행계획 해석
    1.12 실행계획 해석(predicate)
    1.13 초기화 파라미터 OPTIMIZER_MODE
    1.14 Optimizer Mode Setting 방법
    1.15 규칙 기반 옵티마이저(Rule-Based Optimizer)
    1.16 비용기반 옵티마이저(Cost-Based Optimizer)
    2.1 Optimizer Mode를 변경하는 힌트 (RULE)
    2.2 Optimizer Mode를 변경하는 힌트(FIRST_ROWS)
    2.3 Optimizer Mode를 변경하는 힌트(ALL_ROWS)
    2.4 Optimizer Mode를 변경하는 힌트(CHOOSE)
    3.1 실행계획 SQL 연산(AND-EQUAL)
    3.2 실행 계획 SQL 연산(CONCATENATION)
    3.3 실행계획 SQL 연산(COUNT)
    3.4 실행계획 SQL 연산(COUNT STOPKEY)
    3.5 실행계획 SQL 연산(FILTER)
    3.6 실행계획 SQL 연산(HASH ANTI-JOIN)
    3.7 실행계획 SQL 연산(HASH SEMI-JOIN)
    3.8 실행계획 SQL 연산(NESTED LOOP SEMI-JOIN)
    3.9 실행계획 SQL 연산(INDEX RANGE SCAN)
    3.10 실행계획 SQL연산(INDEX RANGE SCAN DESCENDING)
    3.11 실행계획 SQL연산(INLIST ITERATOR)
    3.12 실행계획 SQL연산(MERGE JOIN)
    3.13 실행계획 SQL연산(MERGE SEMI JOIN)
    3.14 실행계획 SQL연산(MERGE ANTI-JOIN)
    4.1 Hints For Online Application Upgrade (CHANGE_DUPKEY_ERROR_INDEX)
    4.2 Hints For Online Application Upgrade (IGNORE_ROW_ON_DUPKEY_INDEX)
    4.3 Hints For Online Application Upgrade (RETRY_ON_ROW_CHANGE)
    14 오라클 인덱스(Oracle Index)
    5.1 비트리 인덱스(B*Tree Index)
    5.2 비트맵 인덱스(Bitmap Index)
    5.3 비트맵 조인 인덱스(Bitmap Join Index)
    5.4 역전환키 인덱스(Reverse Key Index)
    6. Hints For Access Paths(Data Scanning)
    6.1 Hints For Access Paths(FULL)
    6.2 Hints For Access Paths(CLUSTER)
    6.3 Hints For Access Paths(HASH)
    6.4 Hints For Access Paths(INDEX, INDEX_COMBINE)
    6.5 Hints For Access Paths(INDEX_ASC)
    6.6 Hints For Access Paths(INDEX_DESC)
    6.7 Hints For Access Paths(NO_INDEX)
    6.8 INDEX 힌트와 복합인덱스
    6.9 use_invisible_indexes, no_use_invisible_indexes 힌트
    6.10 Hints For Access Paths(NO_EXPAND)
    6.11 Materialized View(구체화뷰)
    6.12 Hints For Access Paths(REWRITE)
    6.13 Hints For Access Paths(INDEX_FFS)
    6.14 Hints For Access Paths(INDEX_SS)
    6.15 Hints For Access Paths(INDEX_JOIN)
    6.16 Hints For Access Paths(NATIVE_FULL_OUTER_JOIN)
    7. Hints for Join Orders
    7.1 중첩루프조인(Nested Loop Join)
    7.2 Hints for Join Orders(ORDERED)
    7.3 Hints for Join Orders(USE_NL)
    7.4 Hints for Join Orders(USE_NL_WITH_INDEX)
    7.5 Hints for Join Orders(NO_USE_NL)
    7.6 해시조인(HASH JOIN, USE_HASH, NO_USE_HASH)
    7.7 Hints for Join Orders(HASH_AJ)
    7.8 Hints for Join Orders(HASH_SJ, NL_SJ)
    7.9 Hints for Join Orders(USE_MERGE)
    7.10 Hints for Join Orders(LEADING)
    7.11 RBO에서의 드라이빙 테이블 선정
    7.12 CBO에서의 드라이빙 테이블 선정
    7.13 Semi Join(세미 조인)
    7.14 Anti Join(안티조인)
    7.15 SWAP_JOIN_INPUTS(OUTER JOIN에서 드라이빙 테이블 선정)
    8. Additional Hints
    8.1 Additional Hints(DRIVING_SITE)
    8.2 Additional Hints(CACHE, NO_CACHE)
    8.3 Additional Hints(CURSOR_SHARING_EXACT)
    8.4 Additional Hints(GATHER_PLAN_STATISTCS)
    8.5 Additional Hints(DYNAMIC_SAMPLING)
    8.6 Additional Hints(RESULT_CACHE)
    8.7 Additional Hints(QB_NAME)
    8.8 Additional Hints(MONITOR)
    9.1 Hints For Query Transformations(서브쿼리의 종류)
    9.2 Hints For Query Transformations(UNNEST, NO_UNNEST)
    9.3 Hints For Query Transformations(MERGE, NO_MERGE), View Merging
    9.4 Hints For Query Transformations(phsh_subq, no_push_subq, SubQuery Pushing)
    9.5 Query Transformations(Predicate Pushing, Predicate Pushdown)
    9.6 Query Transformations(Join Predicate Pushdown, push_pred, no_push_pred)
    9.7 Query Transformations(OR-Expansion)
    10.1 SQL문 튜닝을 위한 접근
    10.2 SQL 작성 TIP 

(오라클학원/SQL학원)개발자,DB전문가를 위한 PL/SQL, 오라클힌트 & SQL튜닝교육

[데이터 사이언스, DB, 파이썬]




개발자,DB전문가를 위한 PL/SQL,

오라클힌트 & SQL튜닝 






           ÃªÂ°Âë°ÂìÂÂ,DBì Â문ê°Â를 ìÂÂí PL/SQL, ì¤ë¼í´íÂÂí¸ & SQLíÂÂë             











★ 교육개요 ★



실무, 실습위주의 교육 입니다!

본 과정은 PL/SQL(기본작성방법, Stored Procedure, Function, Trigger, Package, Cursor, Dynamic SQL)을 마스터 후 기본적인 SQL튜닝을 위한 고급 SQL작성 및 Oracle Hint를 이용한 SQL튜닝 방법에 대해 학습합니다. 오라클 힌트를 사용하지 않고 쿼리를 최적하 하는 방법 뿐 아니라 오라클의 힌트(Oracle Hint)를 적절히 구사하여 데이터 검색 시 수분이상 걸리는 SQL 문장을 수 초안에 데이터가 검색되도록 쿼리을 튜닝하는 방법을 학습 합니다. SQL튜닝을 위한 기본 지식, 고급 SQL 사용법, 각종 인덱스에 대한 이해, 인덱스 활용법, 조인방법 및 서브쿼리 최적화 방법, SQL 실무사례, 오라클 힌트구문에 대해 배우시게 됩니다.
본 과정을 수료함으로써 개발자 및 DB전문가로써 SQL 고급활용에 대한 자신감 및 SQL튜닝을 위한 SKILL을 향상시킬 수 있을 것 입니다. 



★ 수료조건 ★ 


출석률 80%이상 


★ 교육목표 ★  


Oracle PL/SQL에 대한 이해
Oracle Stored Program(Procedure, Function)에 대한 이해
Oracle Trigger, Package에 대한 이해
Dynamic SQL에 대한 이해
인덱스를 선정하는 기준에 대한 이해
효율적인 인덱스 운영 및 관리 
B*Tree 인덱스의 단점을 보완하기 위한 기타 인덱스(Bitmap, Function Based, Reverse Key Index)에 대해서 이해.
옵티마이저의 기능과 역할을 실행계획을 통해서 정확히 이해
Oracle HINT에 대한 이해(Access Path, Join 및 기타 SQL을 위한 힌트)
조인방식에 대한 이해 및 CASE별 최적의 조인메카니즘을 이해
드라이빙 테이블선정 방법에 대한 이해
SQL문에 대하여 옵티마이저의 작동 원리를 파악하고 실행계획을 분석 
실무튜닝 사례를 설명하고 튜닝을 위한 명확한 실무 활용기준 가이드를 제시 
실행계획 SQL 연산자의 이해
서브쿼리/조인의 방법에 따른 성능을 이해하고 작성된 SQL 구문 튜닝의 이해
Access Parh/Join/Query Transformation과 관련된 오라클 힌트 구문의 이해
쿼리 최적화에 대한 이해 




★ 교육대상 ★


초보 개발자
SQL에 관심있는 개발자
DB전문가가 되기 위한 DBA 또는 개발자  



★ 커리큘럼 ★ 

  • PL/SQL1. PL/SQL 개요
    1-1. PL/SQL 이란?
    1-2. PL/SQL 장점
    1-3. PL/SQL 작성방법
    1-4. PL/SQL 블록 구조
    1-5. PL/SQL과 관련된 SQL*Plus 명령어
    2. PL/SQL 프로그램
    2-1. 함수(Function)
    2-2 프로시저(Procedure)
    2-3. Stored Program과 Dictionary View
    2-4. 함수 결과 캐싱(Function Result Caching)
    3. PL/SQL 변수, 데이터 타입
    3.1 변수, 데이터타입
    3.1.1 Scalar Data Type
    3.1.2 PL/SQL Collection Types
    3.1.3 Record Type
    3.1.4 %TYPE 속성
    3.1.5 %ROWTYPE 속성
    3.1.6 Bind(Host) 변수
    3.2 PL/SQL에서 SQL문장 사용
    3.2.1 SELECT문의 사용
    3.2.2 INSERT/UPDATE/DELETE문의 사용
    4. PL/SQL 프로그래밍(제어문, 반복문)
    4.2 BASIC LOOP문
    4.3 FOR LOOP문
    4.4 WHILE LOOP문
    5. PL/SQL Cursor(커서)
    5.2 명시적 커서(Explicit Cursor)
    5.3 WHERE CURRENT OF 커서
    5.4 Parameterized 커서
    5.5 참조커서(REF CURSOR)
    5.6 DBMS_SQL 패키지를 이용한 REF CURSOR
    6. PL/SQL Exception
    6.1 Predefined Exception
    6.2 Non-Predefined Exception
    6.3 사용자 정의 오류(User Defined Exception)
    6.3.1 RAISE 구문을 이용하는 방법
    6.3.2 RAISE_APPLICATION_ERROR 구문을 이용하는 방법
    6.4 예외처리와 SQLCODE, SQLERRM 함수
    6.5 PL/SQL 패키지/함수/프러시저에서 에러발생시 실행한 소스코드, 실행프로그램이름 출력
    7. Dynamic SQL
    7.1 Dynamic SQL 이란?
    7.1.1 동적 SQL을 이용하여 DDL을 실행
    7.1.2 Dynamic SQL 사용하기(SQL문을 동적으로 생성)
    7.1.3 컴파일 타임에 존재하지 않는 데이터베이스 객체 참조
    7.1.4 PL/SQL 블록에서 다른 프러시저, 함수 호출하기
    8. 패키지(Package)
    8.1 개요 및 기본문법
    8.2 전위적 선언(Forward Declaration)
    8.3 ONE TIME ONLY PROCEDURE
    9. 트리거(Trigger)
    9.1 트리거 개요, 기본문법
    9.2 Setting Trigger Order
    9.3 Instead Of Trigger
    9.4 Trigger Mutating Table Exception, Compound Triggers
    9.5 Trigger Enable/Disable/Drop
    Oracle Hint/SQL Tuning1.1 SQL문 처리과정
    1.2 커서(Cursor) & Oracle Memory
    1.3 DBMS_STATS 패키지 사용하기
    1.4 EMPTY_BLOCK, BLOCKS, HIGH WATER MARK(HWM)
    1.5 Optimizer Statistics(Table/Column 통계정보)
    1.6 Literal SQL & Bind Variable SQL(Soft Parsing/Hard Parsing)
    1.7 CURSOR_SHARING 파라미터
    1.8 튜닝의 도구 - SQL AUTOTRACE
    1.9 튜닝의 도구 – DBMS_XPLAN
    1.10 튜닝의 도구 – 10053 Event
    1.11 실행계획 해석
    1.12 실행계획 해석(predicate)
    1.13 초기화 파라미터 OPTIMIZER_MODE
    1.14 Optimizer Mode Setting 방법
    1.15 규칙 기반 옵티마이저(Rule-Based Optimizer)
    1.16 비용기반 옵티마이저(Cost-Based Optimizer)
    2.1 Optimizer Mode를 변경하는 힌트 (RULE)
    2.2 Optimizer Mode를 변경하는 힌트(FIRST_ROWS)
    2.3 Optimizer Mode를 변경하는 힌트(ALL_ROWS)
    2.4 Optimizer Mode를 변경하는 힌트(CHOOSE)
    3.1 실행계획 SQL 연산(AND-EQUAL)
    3.2 실행 계획 SQL 연산(CONCATENATION)
    3.3 실행계획 SQL 연산(COUNT)
    3.4 실행계획 SQL 연산(COUNT STOPKEY)
    3.5 실행계획 SQL 연산(FILTER)
    3.6 실행계획 SQL 연산(HASH ANTI-JOIN)
    3.7 실행계획 SQL 연산(HASH SEMI-JOIN)
    3.8 실행계획 SQL 연산(NESTED LOOP SEMI-JOIN)
    3.9 실행계획 SQL 연산(INDEX RANGE SCAN)
    3.10 실행계획 SQL연산(INDEX RANGE SCAN DESCENDING)
    3.11 실행계획 SQL연산(INLIST ITERATOR)
    3.12 실행계획 SQL연산(MERGE JOIN)
    3.13 실행계획 SQL연산(MERGE SEMI JOIN)
    3.14 실행계획 SQL연산(MERGE ANTI-JOIN)
    4.1 Hints For Online Application Upgrade (CHANGE_DUPKEY_ERROR_INDEX)
    4.2 Hints For Online Application Upgrade (IGNORE_ROW_ON_DUPKEY_INDEX)
    4.3 Hints For Online Application Upgrade (RETRY_ON_ROW_CHANGE)
    14 오라클 인덱스(Oracle Index)
    5.1 비트리 인덱스(B*Tree Index)
    5.2 비트맵 인덱스(Bitmap Index)
    5.3 비트맵 조인 인덱스(Bitmap Join Index)
    5.4 역전환키 인덱스(Reverse Key Index)
    6. Hints For Access Paths(Data Scanning)
    6.1 Hints For Access Paths(FULL)
    6.2 Hints For Access Paths(CLUSTER)
    6.3 Hints For Access Paths(HASH)
    6.4 Hints For Access Paths(INDEX, INDEX_COMBINE)
    6.5 Hints For Access Paths(INDEX_ASC)
    6.6 Hints For Access Paths(INDEX_DESC)
    6.7 Hints For Access Paths(NO_INDEX)
    6.8 INDEX 힌트와 복합인덱스
    6.9 use_invisible_indexes, no_use_invisible_indexes 힌트
    6.10 Hints For Access Paths(NO_EXPAND)
    6.11 Materialized View(구체화뷰)
    6.12 Hints For Access Paths(REWRITE)
    6.13 Hints For Access Paths(INDEX_FFS)
    6.14 Hints For Access Paths(INDEX_SS)
    6.15 Hints For Access Paths(INDEX_JOIN)
    6.16 Hints For Access Paths(NATIVE_FULL_OUTER_JOIN)
    7. Hints for Join Orders
    7.1 중첩루프조인(Nested Loop Join)
    7.2 Hints for Join Orders(ORDERED)
    7.3 Hints for Join Orders(USE_NL)
    7.4 Hints for Join Orders(USE_NL_WITH_INDEX)
    7.5 Hints for Join Orders(NO_USE_NL)
    7.6 해시조인(HASH JOIN, USE_HASH, NO_USE_HASH)
    7.7 Hints for Join Orders(HASH_AJ)
    7.8 Hints for Join Orders(HASH_SJ, NL_SJ)
    7.9 Hints for Join Orders(USE_MERGE)
    7.10 Hints for Join Orders(LEADING)
    7.11 RBO에서의 드라이빙 테이블 선정
    7.12 CBO에서의 드라이빙 테이블 선정
    7.13 Semi Join(세미 조인)
    7.14 Anti Join(안티조인)
    7.15 SWAP_JOIN_INPUTS(OUTER JOIN에서 드라이빙 테이블 선정)
    8. Additional Hints
    8.1 Additional Hints(DRIVING_SITE)
    8.2 Additional Hints(CACHE, NO_CACHE)
    8.3 Additional Hints(CURSOR_SHARING_EXACT)
    8.4 Additional Hints(GATHER_PLAN_STATISTCS)
    8.5 Additional Hints(DYNAMIC_SAMPLING)
    8.6 Additional Hints(RESULT_CACHE)
    8.7 Additional Hints(QB_NAME)
    8.8 Additional Hints(MONITOR)
    9.1 Hints For Query Transformations(서브쿼리의 종류)
    9.2 Hints For Query Transformations(UNNEST, NO_UNNEST)
    9.3 Hints For Query Transformations(MERGE, NO_MERGE), View Merging
    9.4 Hints For Query Transformations(phsh_subq, no_push_subq, SubQuery Pushing)
    9.5 Query Transformations(Predicate Pushing, Predicate Pushdown)
    9.6 Query Transformations(Join Predicate Pushdown, push_pred, no_push_pred)
    9.7 Query Transformations(OR-Expansion)
    10.1 SQL문 튜닝을 위한 접근
    10.2 SQL 작성 TIP

[국비지원] SQL 활용과 오라클(Oracle) Hint를 이용한 SQL튜닝 재직자 향상과정

SQL 활용과 오라클(Oracle) Hint를 이용한 SQL튜닝 재직자 향상과정




SQL íì©ê³¼ ì¤ë¼í´(Oracle) Hint를 ì´ì©í SQLíë ì¬ì§ì í¥ìê³¼ì 

★ 교육개요 ★

재직자가 아닌 경우 국비지원없이 전액 자부담으로 수강 가능 합니다.

[국비지원]프로그램 개발 시 개발자들이 가장 많이 접하는 SQL 사용법에 중점을 둔 강좌로서 기본적인 SQL사용법 부터 ,SQL*Plus사용법, SQL함수, 서브쿼리, 조인, 그룹함수, 분석함수에 대해 집중적으로 학습하며 개발자가 반드시 알아야 하는 Schema Object(Table, Index, View, Sequence, Synonym), 계층적 쿼리문까지 학습하는 과정 입니다.

또한 SQL 튜닝을 위해 오라클 옵티마이저에 대한 기본 이해부터 오라클 힌트구문의 이해를 통해 데이터 검색 시 최적화된 시간에 데이터가 검색되도록 하는 방법에 대해 이론과 실습을 통해 배우게 되는 실무/실습 위주의 강좌 입니다.

★ 수료조건 ★

출석률 80%이상

★ 교육목표 ★  

관계형 데이터베이스에서 SQL을 사용하여 목적에 적합한 데이터를 정의하고, 조작하며, 제어하는 구문의 이해
테이블의 구조와 제약조건을 생성, 삭제하고 수정하는 DDL(Data Definition Language) 명령문 작성에 대한 이해
한 개의 테이블에 대해 데이터를 삽입, 수정, 삭제하고 행을 조회하는 DML(Data Manipulation Language) 명령문 작성에 대한 이해
업무단위인 트랜잭션의 완료와 취소를 위한 DCL(Data Control Language) 명령문 작성에 대한 이해
생성된 테이블의 목록, 테이블의 구조와 제약조건을 파악하기 위해 데이터사전을 조회하는 명령문 작성에 대한 이해
테이블 조회 시간을 단축하기 사용하는 인덱스의 개념을 이해하고 인덱스를 생성하는 DDL(Data Definition Language)명령문 작성에 대한 이해
생성된 테이블들을 이용하여 새로운 테이블과 뷰를 생성하는 DDL(Data Definition Language)명령문 작성에 대한 이해
조인, 서브쿼리, 집합연산자를 사용하여 두 개 이상의 테이블로부터 데이터를 조회하는 DML(Data Manipulation Language)명령문을 작성에 대한 이해
오라클 옵티마이저의 이해
SQL 실행계획의 이해
실행계획 SQL 연산자의 이해
서브쿼리/조인의 방법에 따른 성능을 이해하고 작성된 SQL 구문 튜닝의 이해
Access Parh/Join/Query Transformation과 관련된 오라클 힌트 구문의 이해
쿼리 최적화에 대한 이해


★ 교육대상 ★

DB엔지니어링분야의 신규 재직자
- IT 신입사원
- 현업 사용자
- SQL 초보사용자
- SQL의 활용 능력을 통이고 싶은 자
- 초보개발자 및 실무개발자
- DB관리자
- 쿼리를 잘하고 싶은 IT 개발자

★ 커리큘럼 ★ 
  • 개요 및 실습데이터 설치오라클, 데이터베이스관련 용어
    오라클 에디션(ORACLE EDITION)
    오라클 버전 변화
    실습데이터 설치 및 SQL*PLUS 실행환경 설정
    실습데이터 구조(테이블 정의서)
    데이터베이스 무결성(DataBase Integrity)
    SQL기본SQL*Plus 명령어
    Schema 계정에서의 기본 쿼리문
    기본 쿼리문
    ROWNUM 및 NULL값, NLS_DATE_FORMAT
    데이터 타입(Data Type)
    SQL 문자함수, 집합함수, 숫자 및 날짜함수, 변환함수, 일반함수 및 조건식
    서브 쿼리 및 조인서브 쿼리(SUB QUERY) 개요
    복수행 서브쿼리(Multi-Row Sub Query)
    상관 서브쿼리(Correlated Sub Query)
    Scalar SubQuery, 인라인뷰, WITH 
    테이블 별명(Table Alias)
    카티션 프로덕트
    EquiJoin, Non EquiJoin
    Self Join, Outer Join
    계층형 쿼리(Hierarchical Query)
    SQL 활용분석함수 기본형식 및 응용
    테이블 생성, 변경, 삭제
    데이터 딕셔너리
    DML, INSERT 명령어, 단일행 입력, 복수행 입력, UPDATE, DELETE, MERGE
    인덱스(INDEX) 단일/복합, 고유/비고유, 재구성, 삭제, 숨기기
    뷰(VIEW) 단순, 복합, 인라인
    동의어(Synonym)
    시퀀스(Sequence)
    Hint / TuningSQL문 처리과정
    커서(Cursor) & Oracle Memory
    DBMS_STATS 패키지 사용하기
    Optimizer Statistics(Table/Column 통계정보)
    Literal SQL & Bind Variable SQL(Soft Parsing/Hard Parsing)
    CURSOR_SHARING 파라미터
    튜닝의 도구 - SQL AUTOTRACE
    튜닝의 도구 – DBMS_XPLAN
    튜닝의 도구 – Event
    실행계획 해석
    실행계획 해석(predicate)
    초기화 파라미터 OPTIMIZER_MODE
    Optimizer Mode Setting 방법
    규칙 기반 옵티마이저(Rule-Based Optimizer)
    비용기반 옵티마이저(Cost-Based Optimizer)
    Optimizer Mode를 변경하는 힌트 (RULE)
    Optimizer Mode를 변경하는 힌트(FIRST_ROWS)
    Optimizer Mode를 변경하는 힌트(ALL_ROWS)
    Optimizer Mode를 변경하는 힌트(CHOOSE)
    실행계획 SQL 연산(AND-EQUAL)
    실행 계획 SQL 연산(CONCATENATION)
    실행계획 SQL 연산(COUNT)
    실행계획 SQL 연산(COUNT STOPKEY)
    실행계획 SQL 연산(FILTER)
    실행계획 SQL 연산(HASH ANTI-JOIN)
    실행계획 SQL 연산(HASH SEMI-JOIN)
    실행계획 SQL 연산(NESTED LOOP SEMI-JOIN)
    실행계획 SQL 연산(INDEX RANGE SCAN)
    실행계획 SQL연산(INDEX RANGE SCAN DESCENDING)
    실행계획 SQL연산(INLIST ITERATOR)
    실행계획 SQL연산(MERGE JOIN)
    실행계획 SQL연산(MERGE SEMI JOIN)
    실행계획 SQL연산(MERGE ANTI-JOIN)
    Hints For Online Application Upgrade (CHANGE_DUPKEY_ERROR_INDEX)
    Hints For Online Application Upgrade (IGNORE_ROW_ON_DUPKEY_INDEX)
    Hints For Online Application Upgrade (RETRY_ON_ROW_CHANGE)
    오라클 인덱스(Oracle Index)
    비트리 인덱스(B*Tree Index)
    비트맵 인덱스(Bitmap Index)
    비트맵 조인 인덱스(Bitmap Join Index)
    역전환키 인덱스(Reverse Key Index)
    Hints For Access Paths(Data Scanning)
    Hints For Access Paths(FULL)
    Hints For Access Paths(CLUSTER)
    Hints For Access Paths(HASH)
    Hints For Access Paths(INDEX, INDEX_COMBINE)
    Hints For Access Paths(INDEX_ASC)
    Hints For Access Paths(INDEX_DESC)
    Hints For Access Paths(NO_INDEX)
    INDEX 힌트와 복합인덱스
    use_invisible_indexes, no_use_invisible_indexes 힌트
    Hints For Access Paths(NO_EXPAND)
    Materialized View(구체화뷰)
    Hints For Access Paths(REWRITE)
    Hints For Access Paths(INDEX_FFS)
    Hints For Access Paths(INDEX_SS)
    Hints For Access Paths(INDEX_JOIN)
    Hints For Access Paths(NATIVE_FULL_OUTER_JOIN)
    Hints for Join Orders
    중첩루프조인(Nested Loop Join)
    Hints for Join Orders(ORDERED)
    Hints for Join Orders(USE_NL)
    Hints for Join Orders(USE_NL_WITH_INDEX)
    Hints for Join Orders(NO_USE_NL)
    해시조인(HASH JOIN, USE_HASH, NO_USE_HASH)
    Hints for Join Orders(HASH_AJ)
    Hints for Join Orders(HASH_SJ, NL_SJ)
    Hints for Join Orders(USE_MERGE)
    Hints for Join Orders(LEADING)
    RBO에서의 드라이빙 테이블 선정
    CBO에서의 드라이빙 테이블 선정
    Semi Join(세미 조인)
    Anti Join(안티조인)
    SWAP_JOIN_INPUTS(OUTER JOIN에서 드라이빙 테이블 선정)
    Additional Hints
    Additional Hints(DRIVING_SITE)
    Additional Hints(CACHE, NO_CACHE)
    Additional Hints(CURSOR_SHARING_EXACT)
    Additional Hints(GATHER_PLAN_STATISTCS)
    Additional Hints(DYNAMIC_SAMPLING)
    Additional Hints(RESULT_CACHE)
    Additional Hints(QB_NAME)
    Additional Hints(MONITOR)
    Hints For Query Transformations(서브쿼리의 종류)
    Hints For Query Transformations(UNNEST, NO_UNNEST)
    Hints For Query Transformations(MERGE, NO_MERGE), View Merging
    Hints For Query Transformations(phsh_subq, no_push_subq, SubQuery Pushing)
    Query Transformations(Predicate Pushing, Predicate Pushdown)
    Query Transformations(Join Predicate Pushdown, push_pred, no_push_pred)
    Query Transformations(OR-Expansion)
    SQL문 튜닝을 위한 접근
    SQL 작성 TIP