데이터베이스 옵티마이저: Difference between revisions

From CS Wiki
(새 문서: 분류:데이터베이스 ;Database Optimizer ;주로 관계형 데이터베이스에서 주어진 질의에 대해 최소의 비용으로 실행계획을 수립하는 기능...)
 
No edit summary
Line 1: Line 1:
[[분류:데이터베이스]]
[[분류:데이터베이스]]
;Database Optimizer
;Database Optimizer
;주로 [[관계형 데이터베이스]]에서 주어진 질의에 대해 최소의 비용으로 실행계획을 수립하는 기능
;주로 [[관계형 데이터베이스]]에서 주어진 질의에 대해 최소의 비용으로 실행계획을 수립하는 기능


== 종류 ==
==종류==
=== 규칙 기반 옵티마이저(RBO) ===
===규칙 기반 옵티마이저(RBO)===
 
;Rule Based Optimizer
;Rule Based Optimizer
* 인덱스 구조, 연산자 구성 등 정해진 조건들을 기반으로 판단하여 계획 수립
* 판단 기준이 분명하므로 사용자도 계측 가능
* 현실적인 통계정보를 감안하지 않으므로 판단에 오차가 발생할 수 있음


=== 비용 기반 옵티마이저(CBO) ===
*인덱스 구조, 연산자 구성 등 정해진 조건들을 기반으로 판단하여 계획 수립
*판단 기준이 분명하므로 사용자도 계측 가능
*현실적인 통계정보를 감안하지 않으므로 판단에 오차가 발생할 수 있음
 
===비용 기반 옵티마이저(CBO)===
 
;Cost Based Optimizer
;Cost Based Optimizer
* 여러 계획에 대한 비용을 산정해 보고 그 중에서 최소 비용으로 선택
 
* 판단 기준을 사용자가 미리 예측하기 어려움
*여러 계획에 대한 비용을 산정해 보고 그 중에서 최소 비용으로 선택
* 실제 실행 비용 기반의 정확한 판단
*판단 기준을 사용자가 미리 예측하기 어려움
*실제 실행 비용 기반의 정확한 판단
 
== 옵티마이저 취사선택 ==
 
* 인덱스 사용 등의 실행계획은 옵티마이저의 자의적인 계획에 따라 취사 선택됨
* 옵티마이저의 판단이 잘못되었을 경우 선택을 강제하기 위해 Hint 사용

Revision as of 21:34, 28 August 2021


Database Optimizer
주로 관계형 데이터베이스에서 주어진 질의에 대해 최소의 비용으로 실행계획을 수립하는 기능

종류

규칙 기반 옵티마이저(RBO)

Rule Based Optimizer
  • 인덱스 구조, 연산자 구성 등 정해진 조건들을 기반으로 판단하여 계획 수립
  • 판단 기준이 분명하므로 사용자도 계측 가능
  • 현실적인 통계정보를 감안하지 않으므로 판단에 오차가 발생할 수 있음

비용 기반 옵티마이저(CBO)

Cost Based Optimizer
  • 여러 계획에 대한 비용을 산정해 보고 그 중에서 최소 비용으로 선택
  • 판단 기준을 사용자가 미리 예측하기 어려움
  • 실제 실행 비용 기반의 정확한 판단

옵티마이저 취사선택

  • 인덱스 사용 등의 실행계획은 옵티마이저의 자의적인 계획에 따라 취사 선택됨
  • 옵티마이저의 판단이 잘못되었을 경우 선택을 강제하기 위해 Hint 사용