친절한 SQL 튜닝 책 스터디를 위한 레포지토리입니다.
- 1.1.1 구조적, 집합적, 선언적 질의 언어
- 1.1.2 SQL 최적화
- 1.1.3 SQL 옵티마이저
- 1.1.4 실행계획과 비용
- 1.1.5 옵티마이저 힌트
- 1.2.1 소프트 파싱 vs. 하드 파싱
- 1.2.2 바인드 변수의 중요성
- 1.3.1 SQL이 느린 이유
- 1.3.2 데이터베이스 저장 구조
- 1.3.3 블록 단위 I/O
- 1.3.4 시퀀셜 액세스 vs. 랜덤 액세스
- 1.3.5 논리적 I/O vs. 물리적 I/O
- 1.3.6 Single Block I/O vs. Multiblock I/O
- 1.3.7 Table Full Scan vs. Index Range Scan
- 1.3.8 캐시 탐색 메커니즘
- 2.1.1 미리 보는 인덱스 튜닝
- 2.1.2 인덱스 구조
- 2.1.3 인덱스 수직적 탐색
- 2.1.4 인덱스 수평적 탐색
- 2.1.5 결합 인덱스 구조와 탐색
- 2.2.1 인덱스를 사용한다는 것
- 2.2.2 인덱스를 Range Scan 할 수 없는 이유
- 2.2.3 더 중요한 인덱스 사용 조건
- 2.2.4 인덱스를 이용한 소트 연산 생략
- 2.2.5 ORDER BY 절에서 컬럼 가공
- 2.2.6 SELECT-LIST에서 컬럼 가공
- 2.2.7 자동 형변환
- 2.3.1 Index Range Scan
- 2.3.2 Index Full Scan
- 2.3.3 Index Unique Scan
- 2.3.4 Index Skip Scan
- 2.3.5 Index Fast Full Scan
- 2.3.6 Index Range Scan Descending
- 3.1.1 테이블 랜덤 액세스
- 3.1.2 인덱스 클러스터링 팩터
- 3.1.3 인덱스 손익분기점
- 3.1.4 인덱스 컬럼 추가
- 3.1.5 인덱스만 읽고 처리
- 3.1.6 인덱스 구조 테이블
- 3.1.7 클러스터 테이블
- 3.2.1 부분범위 처리
- 3.2.2 부분범위 처리 구현
- 3.2.3 OLTP 환경에서 부분범위 처리 성능 개선 원리
- 3.3.1 인덱스 탐색
- 3.3.2 인덱스 스캔 효율성
- 3.3.3 액세스 조건과 필터 조건
- 3.3.4 비교 연산자 종류와 컬럼 순서에 따른 군집성
- 3.3.5 인덱스 선행 컬럼이 등치(=) 조건이 아닐 때의 비효율
- 3.3.6 BETWEEN을 IN-List로 전환
- 3.3.7 Index Skip Scan 활용
- 3.3.8 IN 조건은 ‘=’인가
- 3.3.9 BETWEEN과 LIKE 스캔 범위 비교
- 3.3.10 범위검색 조건 남용 시 비효율
- 3.3.11 다양한 옵션 조건 처리 방식의 장단점 비교
- 3.3.12 함수 호출 부하 해소를 위한 인덱스 구성
- 3.4.1 인덱스 설계가 어려운 이유
- 3.4.2 두 가지 핵심 선택 기준
- 3.4.3 스캔 효율성 이외 판단 기준
- 3.4.4 전략적 설계
- 3.4.5 소트 연산 생략을 위한 컬럼 추가
- 3.4.6 결합 인덱스 선택도
- 3.4.7 중복 인덱스 제거
- 3.4.8 인덱스 설계도 작성
- 4.1.1 기본 메커니즘
- 4.1.2 실행계획 제어
- 4.1.3 수행 과정 분석
- 4.1.4 튜닝 포인트
- 4.1.5 특징 요약
- 4.1.6 튜닝 실습
- 4.1.7 확장 메커니즘
- 4.2.1 SGA vs. PGA
- 4.2.2 기본 메커니즘
- 4.2.3 빠른 이유
- 4.2.4 주 용도
- 4.2.5 제어 방법
- 4.2.6 특징 요약
- 4.3.1 기본 메커니즘
- 4.3.2 빠른 이유
- 4.3.3 대용량 Build Input 처리
- 4.3.4 실행계획 제어
- 4.3.5 조인 메소드 선택 기준
- 4.4.1 서브쿼리 변환 필요성
- 4.4.2 서브쿼리와 조인
- 4.4.3 뷰(View)와 조인
- 4.4.4 스칼라 서브쿼리 조인
- 5.1.1 소트 수행 과정
- 5.1.2 소트 오퍼레이션
- 5.2.1 Union vs. Union All
- 5.2.2 Exists 활용
- 5.3.1 Sort Order By 생략
- 5.3.2 Top N 쿼리
- 5.3.3 최소값/최대값 구하기
- 5.3.4 이력 조회
- 5.3.5 Sort Group By 생략
- 5.4.1 소트 데이터 줄이기
- 5.4.2 Top N 쿼리의 소트 부하 경감 원리
- 5.4.3 Top N 쿼리 부하
- 5.4.4 분석 함수 Top N 소트
- 6.1.1 DML 성능 영향 요소
- 6.1.2 데이터베이스 Call과 성능
- 6.1.3 Array Processing 활용
- 6.1.4 인덱스 및 제약 해제를 통한 대량 DML 튜닝
- 6.1.5 수정 가능 조인 뷰
- 6.1.6 MERGE 문 활용
- 6.2.1 Direct Path I/O
- 6.2.2 Direct Path Insert
- 6.2.3 병렬 DML
- 6.3.1 테이블 파티션
- 6.3.2 인덱스 파티션
- 6.3.3 파티션 기반 대량 UPDATE 튜닝
- 6.3.4 파티션 기반 대량 DELETE 튜닝
- 6.3.5 파티션 기반 대량 INSERT 튜닝
- 6.4.1 오라클 Lock
- 6.4.2 트랜잭션 동시성 제어
- 6.4.3 채번 방식에 따른 INSERT 성능 비교
- 7.1.1 선택도와 카디널리티
- 7.1.2 통계정보
- 7.1.3 비용 계산 원리
- 7.2.1 옵티마이저 종류
- 7.2.2 옵티마이저 모드
- 7.2.3 옵티마이저에 영향 주는 요소
- 7.2.4 옵티마이저의 한계
- 7.2.5 개발자의 역할
- 7.2.6 튜닝 전문가 공부 방법
- 실행계획 확인
- AutoTrace
- SQL 트레이스
- DBMS_XPLAN 패키지
- 실시간 SQL 모니터링
- V$SQL
- 일정 : 2025. 09. 18(목)
- 매주 월/목(첫 주만 수/토 로 진행합니다.) 오후 2시, 총 8주(16회)
- 인원: 6명
- 알아서!
- 읽은 내용 중 질문 혹은 중요하다고 생각되는 부분을 해당하는 장의 Issue 에 Comment 를 바로 남겨주세요.
- 목요일까지 각자 읽은 후 요약해 발표를 진행합니다.
- 발표 내용: 읽은 부분으로 진행합니다.
- 발표 담당자 지정: 미리 적절히 나누어 사다리 타기로 진행합니다.
- 발표자는 본인 파트에 해당하는 Issue 에 달린 Comment 관련 내용도 함께 준비합니다.
- 파일명(파일 위치 포함)은 아래와 같이 해주세요.
0X장/[0X장]_{제목}{(부가옵션)_0X-0X_소제목자유}_{이름}.md
- 아래와 같이 제목을 작성해주세요.
[0X장]_{제목} - Issue Comment 는 제일 첫 줄에 관련 페이지 위치를 작성해주세요.
p.123 n문단 ~문장이 이해가 안 됩니다.
- 아래와 같이 작성해주세요.
[#이슈번호]{파일이름(.md 제외)}
- 1주일 동안 책을 읽으면서 느낀점, 발표를 보고 느낀점 들을 자유롭게 이야기 해주시면 됩니다.
- 자유롭게 각자 하고 싶은 말을 하면 되니 부담 가지실 필요는 없습니다.
|
|
|
|
|
|
|
| 강혜주 | 남정길 | 박지은 | 최진영 | 한지훈 | 황하온 |