본문 바로가기
기록/DB

[DB] 옵티마이저 룰 베이스 vs 코스트 베이스

by 자임 2022. 5. 30.

옵티마이저 :
- 쿼리 최적화를 담당
- SQL로 요구된 결과를 최소의 비용으로 처리할 수 있는 처리 경로를 결정

규칙 기반 옵티마이저(Rule-Based Optimizer) :
미리 룰을 정해두고 룰에 맞게 정해진 우선순위에 따라 실행계획을 수립한다. 액세스 경로별 우선순위로서, 인덱스 구조, 연산자, 조건절 형태가 순위를 결정짓는 주요 요소이다.

비용 기반 옵티마이저(Cost-Based Optimizer) :
데이터베이스 내부에 있는 통계정보에 따라 수단을 선택한다. 쿼리를 수행하는데 소요되는 일량 또는 시간 기반. 비용을 산정할 때 사용되는 오브젝트 통계 항목으로는 레코드 개수, 블록 개수, 평균 행 길이, 칼럼 값의 수, 칼럼 값 분포, 인덱스 높이, 클러스터링 팩터 같은 것들이 있다. 오브젝트 통계뿐만 아니라 최근에는 하드웨어적 특성을 반영한 시스템 통계정보(CPU 속도, 디스크 I/O 속도 등)까지 이용한다.


https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rlawlss&logNo=80131075830

 

데이터베이스 개념정리

데이터베이스 : 데이터를 가지고 있는 여러 사람들이 함께 쓰기 위해 데이터베이스를 만듬 1. 파일, 어플리...

blog.naver.com

https://devjino.tistory.com/107

 

DB 옵티마이저

옵티마이져의 목표? SQL로 요구된 결과를 최소의 비용으로 처리할 수 있는 처리 경로를 결정한다. SQL과 옵티마이저 SQL은 처리 절차를 기술하는 것이 아니라, 결과에 대한 요구일 뿐입니다. 처리

devjino.tistory.com

 

'기록 > DB' 카테고리의 다른 글

[DB] 클러스터란  (0) 2022.10.31
엘라스틱서치(Elasticsearch) 란? +  (0) 2022.06.28
[DB/Index] 인덱스는 언제 사용하면 좋을까?  (0) 2022.05.31
[DB] RDB, RDBMS, ERD  (0) 2022.05.30
[Oracle] 오라클 리스너  (0) 2022.05.30