Chapter 1. 실행 계획의 분석은 SQL 최적화의 기본이다.
- SQL을 작성할 때마다 실행 계획을 분석하자.
- 테이블 관련 실행 계획은 단순하다.
- 인덱스 범위 스캔과 유일 스캔의 실행 계획을 이해해라.
- 인덱스 AND-EQUALS 실행 계획을 이해해라.
- 인덱스 전체 스캔의 실행 계획을 이해해라.
- 인덱스 생략 스캔과 인덱스 MIN/MAX 스캔의 실행 계획을 이해해라.
- 인덱스 조인도 인덱스 스캔이다.
- 정렬 관련 실행 계획은 성능을 저하시킬 수 있다.
- IN 연산자에 의한 실행 계획을 이해하라.
- 집합 연산자의 실행 계획을 분석하라.
- VIEW 실행 계획을 분석하라.
- STOPKEY 실행 계획은 우선 순위가 가장 높다.
- 파티션 실행 계획을 이해하자.
- 실행 계획에서 REMOTE 실행 계획을 분석하자.
- 데이터 연결에 대한 실행 계획을 확인하자.
- 복합 실행 계획을 정확히 해석하자.
- 힌트로 실행 계획을 제어하자.
- 힌트는 주의해서 사용해야 한다.
- 실행 계획을 확인하는 방법은 간단하다.
Chapter 2. 대용량 테이블에서 많은 데이터와 적은 데이터 엑세스하기
- 인덱스의 사용이 항상 성능 향상을 보장하는가?
- 어떤 SQL이 인덱스를 이용하면 안 되는가?
- 랜덤 엑세스의 증가는 성능을 저하시킨다.
- 단일 블록 I/O는 랜덤 엑세스와 함께 발생한다.
- 인덱스에 의한 성능 저하를 이해해라.
- 인덱스에 유연성을 불어 넣어라.
- 결합 컬럼 인덱스를 구성하는 컬럼의 순서를 반드시 준수해라.
- 많은 데이터에 엑세스하는 SQL은 테이블 전체 스캔을 이용해라.
- 대용량 테이블의 전체 스캔의 성능 향상은 병렬 프로세싱에 달려 있다.
Chapter 3. 조인은 필수 불가결하다.
- 데이터의 연결은 조인이 책임진다.
- 중첩 루프 조인은 조인의 시작이자 끝이다.
- 향상된 중첩 루프 조인을 이해하자.
이 책은 저자인 권순용 대표가 2005년에 출간한 ‘오라클 실전 튜닝’의 후속 버전이다. 저자가 지난 13년 동안 진행한 프로젝트, 책 쓰기, 잡지 기고, 강의 등과 같은 모든 활동은 오로지 대용량 데이터베이스의 튜닝과만 관련이 있다. 마치 튜닝밖에 할 줄 모르는 사람처럼...
튜닝은 하기도 어렵지만 배우기도 어려운 분야다. 튜닝의 주된 목적이 장황하고도 쓸데없이 펼쳐져 있어서 소용없는 부분을 줄이거나 아예 없애서 최적화를 해야 하는 것으로 일관되기 때문이다. 처음에 만든 사람은 필요해서 만들었는데 그것을 줄이거나 없애야 하...
이 책은 저자인 권순용 대표가 2005년에 출간한 ‘오라클 실전 튜닝’의 후속 버전이다. 저자가 지난 13년 동안 진행한 프로젝트, 책 쓰기, 잡지 기고, 강의 등과 같은 모든 활동은 오로지 대용량 데이터베이스의 튜닝과만 관련이 있다. 마치 튜닝밖에 할 줄 모르는 사람처럼...
튜닝은 하기도 어렵지만 배우기도 어려운 분야다. 튜닝의 주된 목적이 장황하고도 쓸데없이 펼쳐져 있어서 소용없는 부분을 줄이거나 아예 없애서 최적화를 해야 하는 것으로 일관되기 때문이다. 처음에 만든 사람은 필요해서 만들었는데 그것을 줄이거나 없애야 하는 작업이 그냥 생각해도 쉬운 일은 아닌 것처럼 보인다. 그래서 책을 어떻게 구성해야 할지 기획자 입장에서는 난감한 부분이었다. 초급이면서 SQL 튜닝에 대해 의욕이 있는 독자와 중급이면서 고급 전문가로 올라가야 하는 독자들의 지식에 대한 욕구를 어떻게 충족시켜야 주어야 할지 고민스러웠다.
이 책에는 글이 많다. 그림이 많으면 글을 쓰는 사람은 편하다. 그러나 그림보다는 글이 많다. 그 이유는 그림으로 표현하기에는 튜닝이라는 주제가 너무 섬세하기 때문이다. 건드려야 할 부분이 많기 때문이다. 저자와 출판사는 튜닝의 이러한 특징을 짚고 넘어가야 했다. 그래서 튜닝 관련 주요 주제로 80가지를 뽑았고, 각 주제를 그룹핑했고, 다시 80가지 주제 하나 하나를 자세히 설명했다.
이 책은 실습서가 아니다. 튜닝