SQL 튜닝의 시작

SQL 튜닝 방법론

박성호, 정동기, 오경렬, 박준연 | 엑셈 | 2023년 09월 15일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 27,000원

전자책 정가 17,500원

판매가 17,500원

도서소개

SQL 튜닝은 근거와의 싸움이다. SQL 튜닝에서의 근거는 튜닝 대상 추출 기준에서부터 시작된다. 이 책은 어디에서 어떻게 데이터를 추출해야 하는지, 어떤 근거로 SQL 을 검증할 수 있는지를 자세히 설명하고 있다. 저희 엑셈은 앞으로도 주기적으로 기술서적을 출간해서 오라클 성능 지식을 공유하는데 앞장설 것이다.

저자소개

[ 박성호 ]
POSCO SM(튜닝그룹) 파트에서 ERP, MES 튜닝 업무를 수행하였고, 현재는 ㈜엑셈에서 기술지원 및 수석 컨설턴트로 재직하고 있다. SK하이닉스, LG U+ 등 다수의 고객사 프로젝트에서 DB 튜닝업무를 수행하였으며, 저서로는『SQL 튜닝의 시작-SQL의 이해와 효율적인 작성법』이 있다.

[ 정동기 ]
㈜엑셈에서 기술개발 팀에서 MaxGauge, InterMax 등 DB, WAS 모니터링 솔루션 개발에 참여 했으며, 현재는 기술지원 및 책임 컨설턴트로 재직하고 있다. SK하이닉스, 건강보험관리공단, 보건복지부등 다수의 고객사 프로젝트에서 DB 튜닝업무를 수행하였다.

[ 오경렬 ]
㈜엑셈 컨설팅 팀에서 삼성전자 GSCM, 증권거래소, 삼성반도체 등 다수의 고객사 튜닝 업무를 수행하였으며 현재는 고객지원 팀 팀장으로 재직하고 있다. 옮긴 책으로『오라클코어: DBA와 개발자를 위한 필수 매커니즘』이 있다.

[ 박준연 ]
㈜엑셈에서 기술지원 및 책임 컨설턴트로 재직하고 있다. 삼성전자 GSCM, 제일모직 GSCM 프로젝트에서 대용량 데이터를 대상으로 하는 DB 튜닝 업무를 수행하였고, 삼성 GMES, 하나은행 등 다수의 고객사에서 온라인 DB 튜닝 업무를 수행하였다.

목차소개

CHAPTER 1. SQL 튜닝은 어떻게 하지?
SQL 튜닝 따라 해 보기 2
인덱스가 없는 경우 4
인덱스가 있는 경우 12
튜닝 절차 및 정보 18

CHAPTER 2. SQL 튜닝대상 선정방법
SQL 튜닝대상 선정의 중요성 24

튜닝대상 선정을 위한 정보 및 활용 도구 29
업무 담당자의 조언 활용 29
SQL 성능 관련 Dictionary View 활용 30
성능 관리 솔루션 활용 44

Case 별 SQL 튜닝 대상 선정방법 47
Case1. IO / CPU Top SQL 관련 성능 개선 대상선정 47
Case2. Table Full Scan 관련 성능 개선 대상선정 51
Case3. Literal SQL 관련 성능 개선 대상선정 57
Case4. 배치 프로그램 관련 성능 개선 대상선정 60
Case5. 실행계획이 변경된 SQL 추출 65
Case6. ASH를 활용한 성능 개선 대상선정 67

CHAPTER 3. SQL 튜닝을 위한 정보 분석방법
SQL 이해 76

SQL Graph 79
SQL Graph 접근 순서 80
SQL 실행정보 분석 및 활용방법 89

10046 Event 89
DBMS_MONITOR 활용하기 100
DBMS_XPLAN 활용하기 103
DBMS_SQLTUNE 정보 활용하기 133

Object 정보 분석 및 활용방법 143
테이블 구성정보 활용하기 144
인덱스 구성정보 파악하기 147

업무정보 분석 및 활용방법 149
TOP Table 정보 활용하기 150
Access Pattern 정보 활용하기 154
Bind Pattern 정보 활용하기 156
Segment Size 증가 량 활용하기 157

정보 분석을 통한 성능 개선 사례 158
STEP1. SQL 실행정보 분석하기 159
STEP2. 인덱스 구성 정보 확인 160
STEP3. Where절 조건 컬럼의 효율성 확인 161
STEP4. Bind Pattern 분석 163
STEP5. 월 단위 조회의 FTS 효율성 확인 164
STEP6. Table 정보 확인 166
STEP7. Access Pattern 정보 확인 167
STEP8. Partition 구성 및 인덱스 생성 168
STEP9. SQL 분기를 통한 해당 SQL 성능 확인 169

CHAPTER 4. SQL Tuning과 HINT의 관계
HINT? 175

HINT의 사용규칙 176
HINT의 사용목적 180
통계정보에 의한 실행계획 이상 180
Bind Peeking에 의한 실행계획 이상 181
인덱스 구성 변경에 의한 실행계획 이상 182
Optimizer가 비효율 실행계획을 수립하는 경우 182

HINT의 종류와 사용방법 183
조인순서 관련 힌트 186
조인방식 관련 힌트 191
데이터 액세스 관련 힌트 196
VIEW 제어 힌트 215
서브쿼리 제어 힌트 217
EXPANSION 제어 힌트 223
WITH절 제어 힌트 225
PARALLEL 제어 힌트 229
INSERT 제어 힌트 231
PARAMETER 제어 힌트 243
SQL PERFORMANCE 관련 힌트 246
QUERY OPTIMIZING 관련 힌트 252

HINT 적용 및 주의사항 256
HINT 적용하기 256
Hint 사용 시 주의사항 264

CHAPTER 5. Dynamic SQL 튜닝 방법
Dynamic SQL이란? 273

Dynamic SQL 튜닝 진행방식 275
Step1. SQL 조회 조건 파악 278
Step2. SQL 조회 조건 분석 데이터 수집 279
Step3. 조회 조건 별 효율성 체크 (개선안 도출) 280
Step4. XML 소스 수정 및 개선안 적용 281
Step5. 개선안 적용 후 모니터링 284

Dynamic SQL 튜닝 적용 시 주의사항 284

Dynamic SQL에 힌트 적용하기 287

CHAPTER 6. 대량의 데이터 처리 성능개선 방법
적극적 Partitioning 전략 296
Partition 전환이 가능한 경우 297
Partition 전환이 불가한 경우 311
Partition 테이블 전환 방법 317

대량의 데이터 변경 작업의 성능개선 전략 319
대량의 Delete 319
대량의 INSERT 323
Merge 구문 활용 330

Parallel Processing 전략 340
Parallel Processing과 관련된 오해 341
Covering Index 348
In-Memory PQ 353

Memory Caching 전략 358
Keep Buffer 활용 358
Result Cache 활용 382

대량의 데이터에 대한 Summary 전략 396
Mview 397
집계 테이블 402

Appendix
Dynamic Performance View 409
Partition Table 생성 스크립트 442

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!