✅ 3. RBO vs CBO 비교 요약
구분 | 규칙 기반 옵티마이저 (RBO) | 비용 기반 옵티마이저 (CBO) |
기본 개념 | 미리 정해진 우선순위에 따라 실행 계획 결정 | 실행 비용을 계산하여 최적의 실행 계획 선택 |
데이터 고려 여부 | 데이터 분포나 크기를 고려하지 않음 | 통계 정보를 바탕으로 최적화 |
성능 최적화 방식 | 정적인 규칙 적용 | 동적으로 최적의 경로 선택 |
통계 정보 필요 여부 | 필요 없음 | 필요함 (ANALYZE TABLE, DBMS_STATS 사용) |
변화 대응력 | 데이터 변화에 적응하지 못함 | 데이터 변화에 따라 실행 계획 자동 최적화 |
사용 환경 | 오래된 데이터베이스 (현재 거의 사용 안 함) | 최신 데이터베이스 (Oracle, MySQL, PostgreSQL 등) |
장점 | 실행 계획 예측 가능, 시스템 부하 적음 | 실행 성능 최적화, 데이터 환경 변화에 강함 |
단점 | 데이터 변화에 둔감, 비효율적 실행 가능 | 통계 정보가 부정확하면 최적화 실패 가능 |
규칙기반 옵티마이저에서 제일 낮은 우선순위: 전체 테이블 스캔
규칙기반 옵티마이저에서 제일 높은 우선순위: ROWID를 활용하여 테이블을 액세스하는 방법.(행에 대한 고유 주소를 사용하는 방법.)
SQL 처리 흐름도 : SQL문의 처리 절차를 시각적으로 표현, 인덱스 스캔 및 전체 테이블 스캔 등의 액세스 기법을 표현할 수 있음. 성능적인 측변도 표현할 수 있음. 처리 흐름도만 보고 실행 시간을 알 수는 없음.
인덱스 범위 스캔 : 결과 건수만큼 반환.
Balance Tree : 관계형 데이터베이스에서 가장 많이 사용되는 인덱스.
B-Tree 인덱스 : 브랜치 블록과 리프 블록으로 구성됨. 브랜치 블록은 분기를 목적으로 하고 리프 블록은 인덱스를 구성하는 컬럼의 값으로 정렬된다. 일반적으로 OLTP 시스템 환경에서 가장 많이 사용된다.
CLUSTERED 인덱스 : 인덱스의 리프 페이지가 곧 데이터 페이지, 리프 페이지의 모든 데이터는 인덱스 키 컬럼 순으로 물리적으로 정렬되어 저장됨.
BITMAP 인덱스 : 시스템에서 사용될 질의를 시스템 구현 시에 모두 알 수 없는 경우인 DW및 AD-HOC 질의 환경을 위해서 설계됨. 하나의 인덱스 키 엔트리가 많은 행에 대한 포인터를 저장하고 있는 구조.
'자격증 > sqld' 카테고리의 다른 글
[sqld 2장] SQL 저장 모듈(Stored Module) 개념 및 종류 (0) | 2025.03.05 |
---|---|
[sqld 2장] 프로시저 트리거 특징 차이 (0) | 2025.03.05 |
[sqld 2장]PL/SQL이란 PL/SQL 정의 사용하는 이유 (0) | 2025.03.05 |
[sqld 2장]PL/SQL 구문에서의 DML, DCL, DDL 사용법 (0) | 2025.03.05 |
maria db 테이블에 데이터 넣기 (0) | 2025.02.20 |