Q) 사용자가 질의한 SQL 문에 대한 최적화 작업을 수행하는 옵티마이저에 대한 설명으로 가장 적절하지 않은 것은?
1) 규칙 기반 옵티마이저는 일반적으로 인덱스를 이용한 액세스를 우선시한다.
2) 비용 기반 옵티마이저는 정확한 통계 정보가 없더라도 비용 예측이 가능하여 효율적인 실행계획을 세울 수 있다.
3) 실행계획을 구성하는 요소에는 조인 순서, 조인 기법, 액세스 기법, 최적화 정보 등이 있다.
4) 테이블 내의 많은 수의 행을 읽어야 하는 경우라면 전체 테이블 스캔 방식이 인덱스 스캔 방식보다 더 나은 결과가 나올 수 있다.
옵티마이저(Optimizer)
- 옵티마이저는 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다
- 컴퓨터의 두뇌가 CPU인 것처럼 DBMS의 두뇌는 옵티마이저라고 할 수 있다.
- 개발자가 SQL을 작성하고 실행하면 소프트웨어 실행파일처럼 즉시 실행되는 것이 아니라 옵티마이저(Optimizer)라는 곳에서 "이 쿼리문을 어떻게 실행시키겠다!"라는 여러 가지 실행계획을 세우게 된다.
- 이렇게 실행계획을 세운 뒤 시스템 통계정보를 활용하여 각 실행계획의 예상 비용을 산정한 후 각 실행계획을 비교해서 최고의 효율을 가지고 있는 실행계획을 판별한 후 그 실행계획에 따라 쿼리를 수행하게 되는 것이다
- 규칙 기반 옵티마이저는 일반적으로 인덱스를 이용한 액세스를 우선시한다.
- 규칙 기반 옵티마이저(RBO)는 미리 정의된 규칙을 기반으로 실행 계획을 결정한다
- 이러한 규칙 중 하나는 인덱스를 사용하여 데이터에 접근하는 것이므로, 인덱스를 우선시하는 경향이 있다.
- 비용 기반 옵티마이저는 정확한 통계 정보가 없더라도 비용 예측이 가능하여 효율적인 실행계획을 세울 수 있다.
- 비용 기반 옵티마이저(CBO)는 실행 계획을 선택할 때 정확한 통계 정보에 의존한다
- 통계 정보가 없다면 비용 예측이 어려워지고, 비효율적인 실행 계획이 선택될 수 있다.
- 정확한 통계 정보가 없는 경우 효율적인 실행계획을 세우기 어렵다
- 실행계획을 구성하는 요소에는 조인 순서, 조인 기법, 액세스 기법, 최적화 정보 등이 있다.
- 실행 계획을 구성하는 주요 요소는 조인 순서, 조인 기법, 액세스 기법(예: 인덱스 스캔, 테이블 스캔 등)
- 최적화 정보는 이러한 요소들을 바탕으로 최적화된 실행 계획을 생성하는 데 사용된다.
- 테이블 내의 많은 수의 행을 읽어야 하는 경우라면 전체 테이블 스캔 방식이 인덱스 스캔 방식보다 더 나은 결과가 나올 수 있다.
- 인덱스를 사용하면 인덱스를 통해 데이터를 찾고, 다시 테이블을 참조해야 하기 때문에, 전체 테이블을 스캔하는 것이 더 빠를 수 있다.
- 테이블에 많은 데이터가 있을 때는 인덱스가 비효율적일 수 있다
데이터베이스 구축
25년 필기 1회차 885번
답: 2) 비용 기반 옵티마이저는 정확한 통계 정보가 없더라도 비용 예측이 가능하여 효율적인 실행계획을 세울 수 있다
refer to
https://coding-factory.tistory.com/743
https://velog.io/@kwontae1313/%EC%98%B5%ED%8B%B0%EB%A7%88%EC%9D%B4%EC%A0%80
'IT > 정보처리기사' 카테고리의 다른 글
[필기] HDLC 프레임 (0) | 2025.02.08 |
---|---|
[필기] RAID 구성방식 (0) | 2025.02.08 |
[필기] 네트워크 표준 (0) | 2025.02.06 |
[필기] 라운드 로빈 스케줄링 (0) | 2025.02.06 |
[필기] 서비스 지향 아키텍처 (SOA) 의 XML 웹 서비스 구성 요소 (0) | 2025.02.06 |