반응형

 

 

1절 : 옵티마이저와 실행계획

사용자의 질의를 최적의 실행 방법으로 결정하게 하는 것이 바로 옵티마이저의 역할이다
옵티마이저는 규칙기반 옵티마이저와 비용기반 옵티마이저로 나눌 수 있다.
규칙기반 옵티마이저 - 우선규칙에 따라 실행계획 생성
비용기반 옵티마이저 - 필요한 최소비용 계산해서 실행계획 생성

비용기반 옵티마이저의 구성요소
1.질의변환기 2.대안계획 생성기 3.비용예측기 4.딕셔너리

실행계획 정보의 구성요소
1.조인순서 2.조인기법 3.액세스기법 4.최적화정보 5.연산 

 

2절 : 인덱스 기본

인덱스의 목적은 검색 성능의 최적화이지만, DML 작업에 대해서는 인덱스도 같이 따라서 움직이기 때문에성능이 떨어진다. B-TREE 인덱스는 일치 검색, 범위 검색 에 모두 적합한 구조이다.테이블에 액세스하는 방법에는 인덱스 스캔과 전체테이블 스캔 방식이 있다.인덱스 스캔 - 인덱스를 경유해서 테이블을 읽는 방식전체 테이블 스캔 - 테이블의 전체 데이터를 읽으면서 데이터를 추출인덱스 스캔은 인덱스가 존재할 때만 사용가능전체 테이블 스캔은 인덱스의 존재와 상관 없음

 

3절 : 조인 수행 원리

조인이 수행될 때  각각의 조인별로 다른 조인 기법을 사용할 수 있다.NL JOIN - 중첩된 반복문과 유사. 선행테이블의 키 들고 후행테이블의 인덱스에 문 두드려보고 맞으면 조인해서 추출버퍼에 넣는다. 결과 즉시즉시. SORT MERGE JOIN - 데이터 정렬을 이용한 조인 방식. 선행테이블 다 정렬해놓고. 후행테이블 다 정렬해놓고 서로 정렬 해놓은것끼리 조인HASH JOIN - 해슁 기법을 이용한 조인. 선행테이블에 조건 맞는애들 다 해슁테이블에 놓고 후행테이블에 조건 맞는애들 해슁테이블에 갖다 놓을때 해쉬값을 비교해서 맞아야 들어올수있음

 

 

 

 ❏ 5장 연습문제

 

 

문제 1. 옵티마이저에 대한 설명으로 적절하지 않는 것은 다음중 무엇인가?

1) 옵티마이저는 질의에 대해 실행계획을 생성한다.
2) 비용기반 옵티마이저는 비용계산을 위해 다양한 통계정보를 사용한다.
3) 규칙기반 옵티마이저에서 제일 낮은 우선순위는 전체 테이블 스캔이다.
4) 비용기반 옵티마이저는 적절한 인덱스가 존재하면 반드시 인덱스를 사용한다.

문제 2. 실행계획에 대한 설명으로 적절하지 않는 것은 다음 중 무엇인가?

1) 실행계획은 SQL문의 처리를 위한 절차와 방법이 표현된다.
2) 실행계획은 액세스 기법, 조인 순서, 조인 방법 등으로 구성된다.
3) 실행계획이 다르면 결과도 달라질 수 있다.
4) 최적화 정보는 실행계획의 단계별 예상 비용을 표시한 것이다.

문제 3. SQL 처리 흐름도에 대한 설명으로 적절하지 않는 것은 다음 중 무엇인가?

1) 실행계획을 시각화 한 것이다.
2) 성능적은 측면의 표현은 고려하지 않는다.
3) 인덱스 스캔 및 전체 테이블 스캔 등의 액세스 기법을 표현할 수 있다.
4) SQL문의 처리 절차를 시각적으로 표현한 것이다.

문제 4. 다음 설명 중 적절한 것은 무엇인가?

1) 인덱스는 인덱스 구성 칼럼으로 항상 오름차순으로 정렬된다.
2) 비용기반 옵티마이저는 인덱스 스캔이 항상 유리하다고 판단한다.
3) 규칙기반 옵티마이저는 적절한 인덱스가 존재하면 항상 인덱스를 사용하려고 한다.
4) 인덱스 범위 스캔은 항상 여러 건의 결과가 반환된다.

문제 5. 조인에 대한 설명으로 적절하지 않는 것은 다음 중 무엇인가?

1) FROM 절에 나열된 모든 테이블이 동시에 조인 작업이 수행된다.
2) NL Join은 중첩된 반복문과 유사한 형식이다.
3) NL Join은 선행 테이블의 조건을 만족하는 건수만큼 반복 수행된다.
4) Hash Join은 작은 테이블을 선행 테이블로 사용하는 것이 성능관점에서 좋다.

 

http://wiki.gurubee.net/pages/viewpage.action?pageId=27428151

 

반응형
글이 도움이 되셨다면 공감과 광고 클릭 한번 부탁드려요! :)
감사합니다 ✨