일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- DBA
- DB
- 생성자
- 메소드
- 카카오코딩테스트
- SQL
- 인덱스
- 클래스
- Undo
- db버퍼캐시
- 클라이언트
- springboot
- 멀티쓰레드
- socket
- Spring
- 친절한 sql튜닝
- 친절한 SQL 튜닝
- SQLP
- 인스턴스
- 백준
- 오라클
- 상속
- 서버
- 깃허브
- Swing
- java
- 컬렉션프레임워크
- 인덱스 튜닝
- Oracle
- 자바
- Today
- Total
목록친절한 sql튜닝 (2)
프리 정보 컨텐츠
3.4 인덱스 설계온라인 트랜잭션을 처리하는 시스템에서 인덱스 설계의 중요성은 인덱스 튜닝, 더 나아가 SQL 튜닝의 하이라이트라고도 할 수 있다.3.4.1 인덱스 설계가 어려운 이유SQL에 각각 최적화된 인덱스를 마음껏 생성할 수 있다면 인덱스 설계만큼 쉬운 일도 없다. 하지만 인덱스를 많으면 아래와 같은 문제가 발생한다.DML 성능 저하 (TPS 저하)데이터베이스 사이즈 증가데이터베이스 관리 및 운영 비용 상승예를 들어 한 테이블에 인덱스가 여섯 개 달려 있으면, 신규 데이터를 입력할 때마다 여섯 개 인덱스에도 데이터를 입력해야 한다.테이블과 달리 인덱스는 정렬 상태를 유지해야 하므로 수직적 탐색을 통해 입력할 블록부터 찾는다.데이터를 지울 때도 마찬가지이다. 여섯 개 인덱스에서 레코드를 일일이 찾아..

1장 SQL 처리 과정과 I/O1.1 SQL 파싱과 최적화SQL 튜닝을 시작하기에 앞서 옵티마이저가 SQL을 어떻게 처리하는지, 서버 프로세스는 어떻게 읽고 저장하는지 살펴보자.옵티마이저SQL 옵티마이저는 SQL쿼리를 최적하기 위해 최적의 실행 계획을 결정하며 아래와 같은 과정을 통해 이루어집니다. (네비게이션과 같은 역할을 해주는 최적의 실행 계획을 해주는 내부 엔진으로 기억하자)쿼리 파싱 및 분석 : SQL문을 분석하고 파싱하여 내부 표현으로 변환하여 분석.통계 정보 수집 : 테이블 및 인덱스 통계 정보 수집.실행 계획 생성 : 테이블 및 인덱스 액세스 방법, 조인 순서, 조인 방법 포함 실행.최적 실행 계획 선택 : 생성된 실행 계획 중에서 가장 효율적 선택함으로써 쿼리 실행 시간, 리소스 사용량 ..