이미 소장하고 있다면 판매해 보세요.
|
PART 01. Oracle 기본 아키텍쳐
section 01 Oracle Database Architecture section 02 Memory Architecture section 03 Process Architecture section 04 Oracle Storage Structures PART 02. Oracle 성능 최적화를 위한 기본 원리 section 01 Oracle SQL 성능 최적화 개요 section 02 DB 튜닝 핵심 원리 개요 section 03 Library Cache 효율화 : SQL 파싱 부하 해소 section 04 Database CALL 최소화 section 05 I/O 효율화 PART 03. 성능 튜닝 도구 및 실행 계획 분석 section 01 DBMS_XPLAN.DISPLAY_CURSOR section 02 DBMS_XPLAN.DISPLAY_AWR section 03 SQL_MONITOR section 04 실행 계획 순서 기본 분석법 section 05 실행 계획 순서 예외 사항 분석법 PART 04. INDEX ACCESS PATTERN section 01 B-Tree INDEX 구조 section 02 INDEX RANGE SCAN section 03 INDEX RANGE SCAN DESCENDING section 04 INDEX UNIQUE SCAN section 05 INDEX RANGE SCAN(MIN/MAX) section 06 ROWID ACCESS section 07 INDEX 컬럼 가공 section 08 CLUSTERING FACTOR section 09 FULL TABLE SCAN section 10 INDEX ACCESS 조건, FILTER 조건, 선택도 section 11 INDEX SKIP SCAN section 12 INDEX INLIST INTERATOR section 13 INDEX FULL SCAN section 14 INDEX FULL SCAN(MIN/MAX) section 15 INDEX FAST FULL SCAN section 16 INDEX COMBINE section 17 INDEX JOIN section 18 INDEX COMBINE과 INDEX JOIN의 차이점 비교 section 19 INDEX FILTERING 효과 PART 05. INDEX 설계 전략 section 01 선택도와 카디널리티 section 02 INDEX 컬럼 입력, 삭제, 갱신 section 03 INDEX 선정 기준 section 04 테이블 유형별 INDEX 설계 기준 section 05 결합 컬럼 INDEX 특징 및 컬럼 순서 결정 기준 section 06 INDEX 선정 절차 section 07 INDEX 설계 예제 PART 06. JOIN section 01 NESTED LOOP JOIN section 02 HASH JOIN section 03 SORT MERGE JOIN section 04 JPPD(Join Predicate Push Down) section 05 JOIN 순서가 성능에 미치는 영향 PART 07. 서브쿼리 section 01 FILTER 서브쿼리 section 02 EARLIER FILTER 서브 쿼리 section 03 NL SEMI / ANTI JOIN section 04 상관관계 서브쿼리(FILTER, NL SEMI JOIN) 활용 section 05 HASH SEMI / ANTI JOIN section 06 SORT MERGE SEMI / ANTI JOIN section 07 스칼라 서브쿼리 section 08 비 상관관계 서브쿼리 PART 08. 실행 계획 분리 section 01 CONCATNATION을 이용한 실행 계획 분리 section 02 UNION ALL을 이용한 실행 계획 분리 PART 09. 페이징 처리 section 01 부분 범위 처리, 전체 범위 처리 section 02 표준 PAGENATION 사용 방법 section 03 표준 PAGENATION 사용 - 최적의 INDEX 존재 section 04 표준 PAGENATION 사용 - 최적의 INDEX 없음 section 05 표준 PAGENATION 사용 - 처리 순서 section 06 PAGING 처리 응용 section 07 웹 게시판 형태에서 PAGING 처리 PART 10. PGA 튜닝 section 01 SORT ORDER BY section 02 SORT ORDER BY & SORT ORDER BY STEOPKEY (STOPKEY) section 03 SORT GROUP BY & HASH GROUP BY section 04 SORT UNIQUE & HASH UNIQUE section 05 HASH JOIN, HASH SEMI JOIN & HASH ANTI JOIN section 06 SORT MERGE JOIN, MERGE SEMI JOIN & MERGE ANTI JOIN PART 11. 분석 함수와 실행 계획 section 01 WINDOW SORT section 02 WINDOW SORT PUSHED RANK section 03 WINDOW NOSORT section 04 WINDOW NOSORT STOPKEY section 05 WINDOW BUFFER section 06 분석 함수 실행 계획 심화 PART 12. 동일 데이터 반복 ACCESS 튜닝 section 01 서브쿼리 OR 인라인뷰를 통한 반복 ACCESS - 분석 함수 활용 section 02 UNION ALL 반복 ACCESS - SQL 통합 section 03 UNION ALL 반복 ACCESS - 카테시안 JOIN section 04 UNION ALL 반복 ACCESS - 소계 처리 함수의 활용 section 05 UNION ALL 반복 ACCESS - WITH 문의 활용 section 06 UPDATE 문 서브쿼리 통한 반복 ACCESS - MERGE문 활용 section 07 MERGE 대상 테이블 반복 ACCESS PART 13. 기타 응용 튜닝 section 01 여러 행 → 한 개의 행, 열로 묶기 section 02 한 개의 행, 열로 묶인 데이터 → 여러 행으로 분리 section 03 행(ROW)간의 누적 곱 section 04 카테시안 JOIN 응용 - 일, 주, 월 현황 section 05 INDEX JOIN 응용 section 06 OUTLINE 정보를 이용한 튜닝 PART 14. 옵티마이저 section 01 옵티마이저란? section 02 10053 Trace section 03 Heuristic Query Transformation PART 15. Oracle 트랜잭션과 Redo Log 튜닝 section 01 Transaction section 02 Redo & Undo section 03 데이터 변경량과 Redo & Undo section 04 튜닝 실무 사례 PART 16. 파티셔닝 section 01 개요 section 02 기본 개념 section 03 파티셔닝 유형 section 04 파티션 KEY 전략 section 05 파티셔닝 테이블의 INDEX section 06 파티션 관리 section 07 파티션 Pruning PART 17. Oracle Exadata Basic section 01 Exadata 개요 section 02 오프로딩 section 03 STORAGE INDEX section 04 HCC (Hybrid Columner Compression) section 05 SMART FLASH CACHE section 06 병렬처리 section 07 Exadata에서 개발 시 고려사항 PART 18. Oracle 성능 분석 기본 방법론 section 01 성능 분석 방법론 개요 section 02 핵심 성능 데이터 이해 section 03 성능 분석 유틸리티 section 04 기본적 성능 분석 PART 19. 튜닝 실무 사례 section 01 관련단원 - 4. INDEX ACCESS 패턴 section 02 관련단원 - 4. INDEX ACCESS 패턴 section 03 관련단원 - 6. JOIN section 04 관련단원 - 6. JOIN(JPPD) section 05 관련단원 - 7. 서브쿼리 section 06 관련단원 - 6. JOIN, 7. 서브쿼리, 12. 동일 데이터 반복 ACCESS 튜닝 section 07 관련단원 - 8. 실행 계획 분리 section 08 관련단원 - 6. JOIN, 8. 실행 계획 분리 section 09 관련단원 - 7. 서브쿼리, 10. PGA튜닝 section 10 관련단원 - 6. JOIN, 7. 서브쿼리, 10. PGA 튜닝 section 11 관련단원 - 12. 동일 데이터 반복 ACCESS 튜닝 section 12 관련단원 - 5. INDEX ACCESS 패턴, 9. 페이징 처리 section 13 관련단원 - 9. 페이징 처리, 7. 서브쿼리 section 14 관련단원 - 6. JOIN section 15 관련단원 - 6. JOIN(JPPD) section 16 관련단원 - 7. 서브쿼리 |
|
SQL 개발을 몇 년씩 해왔더라도 SQL 튜닝이라는 주제 자체가 접근하기에는 쉽지 않은 것은 사실입니다. 실무에서 튜닝한 결과를 이용해서 개발팀 대상으로 SQL 튜닝 교육과 튜닝 사례 교육도 진행하면서 어떤 목차로 어떤 주제로 정리를 해야 접근하기가 쉬울지 생각을 많이 했습니다. SQL 초보자가 튜닝에 접근하기는 쉽지 않겠지만 SQL 스터디 및 개발 업무를 2~3년 이상 해온 사람이라면 이 책을 통해 어렵지 않게 접근할 수 있을 것이라 생각합니다.
AI 시대에도 튜닝 전문가의 역할은 중요하다 AI가 자동으로 실행계획을 분석하거나 튜닝을 시도해서 튜닝 결과를 추천할 수 있지만 모든 상황을 정확히 해석하진 못합니다. 복잡한 비즈니스 로직이나 데이터 모델은 전문가의 경험과 해석이 필수입니다. AI 기반 튜닝 도구(예 : Oracle SQL Tuning Advisor)는 성능을 개선하기도 하지만, 잘못 적용하면 성능이 악화될 가능성도 있기 때문에 전문가의 사전 검토와 사후 검증이 필요합니다. 복잡한 JOIN 및 분석 함수 등이 포함된 SQL은 자동 튜닝이 어려우며 고난이도 SQL은 여전히 전문가가 직접 다뤄야 합니다. 요약하자면 AI는 튜닝 전문가의 도구이지 대체자가 아니며 AI의 추천을 해석하고 책임질 사람은 여전히 튜닝 전문가입니다. 개발자와 튜닝 전문가는 AI가 추천한 튜닝 기법을 검증하고, 비즈니스 로직에 맞는 최적의 SQL을 설계해야 합니다. AI는 SQL 튜닝을 자동화할 수 있어도, 데이터 파티셔닝, INDEX 설계, OLTP 및 OLAP 환경별 최적화 전략을 자동으로 결정할 수 없습니다. AI 시대에도 튜닝 전문가가 데이터 모델을 이해하고, 최적의 SQL을 설계하는 역량이 필요합니다. SQL 튜닝의 원리를 이해하고, 자동화 도구와 협업하는 전문가로 성장해야 합니다. 이 책의 구성 및 특징 이 책은 Oracle 19c를 기준으로 SQL 성능 최적화에 필수적인 개념과 실전 튜닝 기법을 다룹니다. 수많은 SQL을 튜닝하다 보면 가장 많이 발생하는 성능 저하의 80%는 패턴이 한정되어 있습니다. 이 책은 실무에서 가장 많이 발생하는 성능 저하 패턴을 80% 해결하는 방법을 중심으로 정리하면서, 동시에 고급 튜닝 기법도 함께 소개하고 있습니다. ● SQL 튜닝의 기본 원리 Oracle 기본 아키텍처 (1장) SQL 성능 최적화를 위한 원리 및 튜닝 도구 (2~3장) SQL이 실행되는 방식과 성능 저하의 주요 원인을 파악하는 것이 튜닝의 첫걸음입니다. 이 장에서는 SQL 성능 최적화를 위한 기본 원리를 살펴보고 실행 계획을 분석하고 성능을 측정하는 다양한 튜닝 도구(DBMS_XPLAN_DISPLAY_CURSOR, SQL 모니터링 Report 등)를 다룹니다. ● SQL 실행 최적화 전략 INDEX (4~5장) JOIN (6장) 서브쿼리 및 실행 계획 분리 (7~9장) SQL 튜닝에서 가장 중요한 요소 중 하나는 INDEX 활용 방식입니다. INDEX를 어떻게 설계하고, JOIN 방식을 최적화하는지에 따라 성능 차이가 크며, 이를 최적화하는 전략을 다룹니다. 또한, 서브쿼리, 실행 계획 분리, 페이징 처리 최적화 기법을 상세히 설명하여 SQL 성능을 개선하는 방법을 제공합니다. ● 기타 SQL 튜닝 기법 PGA 튜닝 및 실행 계획 분석 (10~11장) 데이터 반복 ACCESS 최적화 (12장) 기타 응용 튜닝 및 옵티마이저 이해 (13~14장) SQL 실행 중 불필요한 메모리 사용을 줄이고, 동일 데이터 반복 접근을 최소화하는 전략을 소개합니다. 그리고 옵티마이저의 기본적인 원리와 응용 튜닝에 대한 부분도 함께 다룹니다. ●대용량 데이터 환경에서의 튜닝 및 실무 사례 Oracle 트랜잭션 및 Redo Log 튜닝 (15장) 파티셔닝 및 Exadata Basic (16~17장) Oracle 성능 분석 및 실무 사례 (18~19장) 대용량 데이터 환경에서 파티셔닝은 필수적입니다. 그리고 대용량 데이터 환경에서 엑사데이터 활용이 증가하고 있습니다. 이와 관련해서 파티셔닝과 Oracle Exadata 활용에 대한 부분을 다루었습니다. 그리고 SQL 튜닝 전문가는 SQL 튜닝 업무만 담당하지 않습니다. Database에 성능 문제가 발생하면 Database 전반에 걸친 성능 문제의 원인을 파악하고 분석하는 역할을 수행합니다. 이에 따라서 Oracle 성능 분석 기본 방법론에 대해서도 다루었습니다. 마지막으로, 실무 사례를 통해 이론이 실제 업무에서 어떻게 적용되는지를 이해할 수 있도록 구성하였습니다. SQL 튜닝의 길잡이, 나침반이 되다 AI 시대가 되어 SQL 튜닝을 돕지만 튜닝 전문가의 역할은 계속 필요합니다. Oracle도 최근 버전인 23에서는 23ai로 출시를 했지만 튜닝의 본질은 변하지 않습니다. 이 책이 여러분의 SQL 성능 최적화 여정에서 확실한 나침반 역할을 하기를 바랍니다. SQL 튜닝 전문가로 성장하기 위한 여정을 지금 시작해 봅시다. |