검색결과 리스트
cost 에 해당되는 글 1건
- 2008/12/10 CBO에서의 Cost란? (1)
2008/12/10 18:49
※ 이 글은 "실전 SQL 튜닝" 강의를 듣고 개인적인 의견과 함께 정리한 내용입니다.
CBO에서 Cost란?
Cost란 말 그대로 비용입니다. DB에서 쿼리를 실행할 때 필요한 비용인거죠. 그리고 비용이 많이 들수록 DB의 응답속도와 부하는 늘어납니다. 그렇다면 이 Cost는 무엇을 근거로 산출되고 무엇을 Cost라고 하는 걸까요?
Jonathan Lewis says : The cost is the optimizer's best estimate of the time it will take to execute the statement.
=> 비용이란 optimizer가 sql 문장을 수행하는데 걸리는 시간의 최선의 예측치다.
여기서 수행하는데 걸리는 시간의 최선의 예측치는 간단하게 말하자면 "execution time = CPU time + I/O time" 이런 공식으로 계산했을 때 가장 빠른 시간을 말합니다. 하지만 Lock등이 발생해서 생기는 wait time은 계산에 들어가지 않습니다. 왜냐구요? 당연히 optimizer는 wait time등을 예측 할 수 없기 때문이죠.
I/O time은 다음과 같습니다. "I/O time = Single Block I/O time(like index) + Multi Block I/O time(like table full scan"
CBO에서 Cost란?
Cost란 말 그대로 비용입니다. DB에서 쿼리를 실행할 때 필요한 비용인거죠. 그리고 비용이 많이 들수록 DB의 응답속도와 부하는 늘어납니다. 그렇다면 이 Cost는 무엇을 근거로 산출되고 무엇을 Cost라고 하는 걸까요?
Cost는 무엇을 기준으로 나오는 값인가?
Jonathan Lewis says : The cost is the optimizer's best estimate of the time it will take to execute the statement.
=> 비용이란 optimizer가 sql 문장을 수행하는데 걸리는 시간의 최선의 예측치다.
여기서 수행하는데 걸리는 시간의 최선의 예측치는 간단하게 말하자면 "execution time = CPU time + I/O time" 이런 공식으로 계산했을 때 가장 빠른 시간을 말합니다. 하지만 Lock등이 발생해서 생기는 wait time은 계산에 들어가지 않습니다. 왜냐구요? 당연히 optimizer는 wait time등을 예측 할 수 없기 때문이죠.
I/O time은 다음과 같습니다. "I/O time = Single Block I/O time(like index) + Multi Block I/O time(like table full scan"
'개발 이야기 > DataBase' 카테고리의 다른 글
| 오라클 실행계획 보기 (0) | 2009/01/05 |
|---|---|
| CBO와 관련된 잘못된 편견 (0) | 2008/12/31 |
| CBO에서의 Cost란? (1) | 2008/12/10 |
| 옵티마이저 모드 (OPTIMIZER MODE) (1) | 2008/11/25 |
| 비용기준 옵티마이저 (Cost_based Optimizer) (0) | 2008/11/24 |
| 규칙 기준 옵티마이저 (Rule_based Optimizer) (0) | 2008/11/24 |