[데이터 사이언스, DB, 파이썬]
개발자,DB전문가를 위한 PL/SQL,
오라클힌트 & SQL튜닝
평일주간 : http://topcredu.co.kr/sub/crcl/view/db/2344
주말주간 : http://topcredu.co.kr/sub/crcl/view/db/2345
PL/SQL | 1. 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 Tuning | 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 |