힌트는 SQL 튜닝의 핵심부분으로 일종의 지시구문이며 SQL에 포함되어 쓰여져 Optimizer의 실행 계획을 원하는 대로 바꿀 수 있게 해줍니다. 오라클 Optiomizer라고 해서 항상 최선의 실행 계획을 수립할 수는 없으므로 테이블 이나 인덱스의 잘못된 실행 계획을 개발자가 직접 바꿀 수 있도록 도와주는 것이 Hint 입니다.
사용자는 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지에 대해 알고 있는데 이 경우 오라클 서버의 Optimizer에 의존하여 나온 실행 계획보다 훨씬 효율적인 실행계획을 사용자가 구사할 수 있다는 것입니다.
힌트를 사용하게 되면 액세스 경로, 조인의 순서, Optiomizer의 목표(Goal)를 변경 가능하며 SQL 문장 내에 “/*+ 힌트내용 */” 형태로 사용되어 지며 여기서 주석 표시와 다른점은 더하기(+)가 있다는 것이니 주의 바랍니다.
아래의 힌트 사용예는 비용기반 옵티마이저에서 규칙-기반 옵티마이저 Mode로 바꾸기 위한 것입니다.
SQL>SELECT /*+ RULE */
ENAME, SAL
FROM EMP
WHERE EMPNO > 1000;
다음 강좌인 "힌트 사용 하는 방법"에 대해 보시면 대충 이해가 되시리라 생각 되네요...
오라클자바커뮤니티 개발자 실전 강좌 - 개인80% 환급
PL/SQL,오라클힌트,SQL튜닝,사례연구
| 강좌명 | PL/SQL,오라클힌트,SQL튜닝,사례연구(주말주간(토/일)) 오라클자바커뮤니티(www.oraclejavanew.kr) 추천 실전강좌 |
|---|---|
| 교재 | 자체교재 or PDF 무료제공 |
| 강좌 일정 | 09월28일(토) ~ 10월06일(일)((주말주간(토/일)) 09:30~18:30, 4일) 총 32시간 |
| 강의 장소 | [B강의장]구로디지털단지역2번 출구-> 미니스톱끼고 우회전 -> 100m 직진
후 골목길 끝에서 이마트방향 우회전 -> 50m 직진 후 우체국 옆골목으로 길건너서 직진 -> 150미터 직진 후 JnK 타워에서
우회전 -> 50미터 직진 후 우측에 코오롱빌란트2차 803호 (구로구 구로3동 222-8 코오롱디지털타워 빌란트2차 803호)
[약도보기] |
| 수강절차 | - 강좌내용 확인 - 전화 또는 홈페이지(www.onjprogramming.co.kr)를 통한 수강지원 및 수강료 결제(무통장입금, 온라인 카드결제) - 고용보험 가입자(재직자)인 경우 고용보험환급 관련 서류 제출 - 수강전 : 커리큘럼 및 장소에 대해 다시 한번 공지 - 교육 전 설문 작성(간단한 개발 경력, 수강 목적, 강좌진행방식 등) - 강좌 수강 - 수강후 : 교육 후 설문 작성 |
| 수강료 | - 650,000원 [고용주환급]대기업:12만원 전후, 중소기업:16만원 전후환급 [개인수강지원(개인환급)]정규직 520,000 ,비정규직:전액환급 대기업(상시근로자 300인 이상 대기업)은 개인환급 불가합니다. |
| 수강료 입금안내 |
- 온/오프라인 카드결제, 계좌이체(수강안내->입금안내 참조) |
| 문의사항 | 02-851-4790 번으로 연락 부탁 드립니다. |
| 교육개요 | 본 과정은 프로그램 개발 시 개발자들이 흔히 겪게 되는 SQL 사용법에 중점을 둔 강좌로서 PL/SQL(기본작성방법, Stored
Procedure, Function, Trigger, Package)을 마스터 후 오라클의 힌트(Hint, Oracle Hint를 적절히
구사하면 데이터 검색 시 수분이상 걸리는 SQL문장을 수 초안에 데이터가 검색되도록 SQL튜닝 가능하죠^^, 개발자라면 꼭 알고 있어야
합니다!), 고급 SQL 사용법, 각종 인덱스에 대한 이해, 인덱스 활용법, SQL 실무사례등에 대해 학습니다. 본 과정을 수료함으로써 개발자로서 SQL 사용에 대한 자신감 및 SQL SKILL을 향상시킬 수 있을 것 입니다. |
| 교육목표 | ○ Oracle PL/SQL에 대한 이해 ○ Oracle Stored Program에 대한 이해 ○ Oracle Trigger에 대한 이해 ○ 인덱스를 선정하는 기준에 대한 이해 ○ 효율적인 인덱스 운영 및 관리 ○ B*Tree 인덱스의 단점을 보완하기 위한 기타 인덱스에 대해서 이해. ○ 옵티마이저의 기능과 역할을 실행계획을 통해서 정확히 이해 ○ Oracle HINT에 대한 이해 ○ 조인방식에 대한 이해 및 CASE별 최적의 조인메카니즘을 이해 ○ 본인이 작성한 SQL문에 대하여 옵티마이저의 작동 원리를 파악하고 실행계획을 분석 ○ 현실 실무에서의 튜닝 사례를 설명하고 튜닝을 위한 명확한 실무 활용기준 가이드를 제시 ○ 다양한 SQL 사례 경험 |
| 교육대상 | - 초보 개발자 - SQL에 관심있는 개발자 - DB전문가가 되기 위한 개발자 |
| 선수학습 | - 기본 SQL |
| PL/SQL | - PLSQL 작성법 - PL변수, 제어문, 반복문, 연산자, 데이터타입 - PLSQL 예외처리(EXCEPTION) - Oracle CURSOR 다루기 - Dynamic SQL - Stored Procedure 작성 및 실행 방법 - Stored Function 작성 및 실행 방법 - Oracle Trigger - Oracle Package [기타 유틸리티] SQL*Loader EXPORT/IMPORT |
|---|---|
| 오라클 힌트 & SQL튜닝, 사례연구 | [SQL튜닝 기본 & HINT] SQL튜닝 및 오라클 힌트소개 AUTO TRACE, Explain Plan, SQLTrace 소개 및 사용법 Oracle Optimizer란? Optimizer Mode란? Optimizer Mode변경 Hint (RULE, FIRST_ROWS, ALL_ROWS, CHOOSE) 실행계획 SQL연산의 이해 (AND-EQUAL, CONCATENATION, COUNT, FILTER, HASH ANTI_JOIN, HASH SEMI-JOIN, INDEXRANGE SCAN, INLIST ITERATOR, MERGE, MERGE SEMI_JOIN, MERGE ANTI_JOIN) 실행경로변경힌트 이론 및 실습 (FULL, ROWID, CLUSTER, HASH, INDEX, INDEX_ASC, INDEX_DESC, NO-INDEX, INDEX_FFS) 조인순서변경힌트 이론 및 실습 (ORDERED, USE_NL, USE_HASH, HASH_AJ, LEADING, USE_MERGE, DRIVING_SITE) * 위 대부분의 실습은 대량의 데이터를 테이블에 입력 후 실전과 같은 실습 예정이며 실습을 통해 결과를 확인함으로써 이론에 대해 이해할 수 있습니다. [SQL튜닝 & SQL사례연구] - SQL튜닝 연구 ORDER BY 튜닝(INDEX_ASC, INDEX_DESC를 이용한 튜닝) MAX, MIN 값의 튜닝(INDEX관련 힌트를 이용한 튜닝) MINUS를 사용한 경우의 SLQ튜닝 COUNT(*) 튜닝(index_ffs를 이용한 튜닝) DISTINCT의 튜닝(EXISTS) INDEX를 이용한 튜닝(Bitmap, Function Based Index) OR연산 튜닝 index_ss(SKIP SCANNING)을 이용한 튜닝 mview를 이용한 group by 튜닝 - SQL사례 연구 SQL작성 TIP Oracle12c의 Top-n, 시퀀스를 이용한 default value설정 특정 조건대로 번호를 부여하는 방법 Co-relateed subquery inlineview를 with문으로 매월 1,3주 토요일은 휴무일이다 현재월의 휴무월을 출력 컬럼값이 Unique인지 확인하는 SQL SQL*Plus로 로그인막는 트리거 작성 순위 Query 컬럼에 분포하는 값의 종류 COUNT 컬럼 값의 범위를 주어 개수 세기 SQL WHERE vs HAVING 중복데이터 삭제 샘플데이터 추출하기 first, last rank function job별로 급여의 합계(부서별로)를 표시하기(Matrix Report) SQL분석 함수 순위매기기 Explicitly Named Indexes(create table안의 create index) CASE를 사용한 SQL문의 통합 |
댓글 없음:
댓글 쓰기