홍보 / 광고

  • [SQL학원/ SQL교육] SQL 활용과 오라클(Oracle) Hint를 이용한 SQL튜닝 재직자 향상과정

          

                                             [SQL학원/ SQL교육]


 SQL 활용과 오라클(Oracle) Hint를 이용한 

SQL튜닝 재직자 향상과정

 


thumb-1893422741_L5mh1UDb_14cc05992fc6ff

★ 교육개요 

 

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

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

 

 

 

★ 교육목표 

관계형 데이터베이스에서 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
0  COMMENTS