database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 27208 게시물 읽기
No. 27208
cost
작성자
조명구(oasis0603)
작성일
2006-07-05 22:50ⓒ
2006-07-05 22:54ⓜ
조회수
1,089

안녕하세요?

질문하나 드리겠습니다.

실행계획을 보다보니 cost 값이 있던데요...

이 cost에 대해서 간략하게나마 설명을 부탁드려도 될련지요?

그리고 cost는 낮은게 무조건 좋은건가요?

그렇다면 쿼리조정할때도 무조건 cost가 낮게만 쿼리를 만들면 되는건

가요? 물론 그렇진 않겠지만요...

고수님들의 cost에 관한 일반적인 설명 듣고싶습니다.

무식한 질문 죄송...

이 글에 대한 댓글이 총 2건 있습니다.

cost는 예상 비용입니다.

 

IO횟수...IO의 형태...연산에 의한 발생량 등을 고려해서 옵티마이저 계산하는

 

예상되는 cost 비용인것입니다.

 

예상 하는 것이니깐 실제 소요되는시간과 cost는 대체로 비례하긴 하지만

 

꼭 들어 맞는것은 아닙니다.

 

cost가 높게 나온 쿼리가 실제로는 더 빠를수도 있습니다.

힌트라는 것도 옵티마이저가 다른 방향으로 갈 수 있게 이끄는 것이죠.

 

또한 옵티마이저 정책이 all_rows 냐 first_rows냐에 따른 cost도 고려해봐야할 것입니다.

 

그럼

김병두(kirio1)님이 2006-07-06 12:37에 작성한 댓글입니다.

저도 이제껏 코스트에 대해 모르는 부분이 많습니다만, 간단히 경험을 말씀드리면, 코스트가 높더라도 빠른 경우는 있더군요.

실행계획이 NESTED_LOOPS가 아닌 HASH_JOIN으로 풀린 경우는 대체적으로 코스트가 높았습니다. 하지만, 속도는 빨랐지요. 하지만, 얼마 전에 HASH_JOIN가 너무 많이 쓰여서 다운된 쿼리가 발견됐습니다.

코스트가 반드시 속도와 비례한다고 말씀드리긴 힘들것 같지만, 속도와 함께 입출력량까지 고려한다면 대충 비례하는 것 같습니다.

 

자주 사용되지도 않고 비교적 간단한 쿼리라면 코스트가 좀 높더라도 빠른, 자주 사용되고 복잡한 쿼리라면 코스트를 고려해서 작성하는게 좋지 않을까... 싶네요.

산타님이 2006-07-06 14:29에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27212not exists select 'X' 가 왜 쓰이는 건가요??? [1]
이영신
2006-07-06
8673
27211deadlock 걸렸을때 ? [1]
초보dba
2006-07-06
2780
27209CLOB--->Varchar2(4000) 변경후 문제.. [4]
Wenzie
2006-07-05
7754
27208cost [2]
조명구
2006-07-05
1089
27207OCP 자격증에 대한 질문.. [5]
류지훈
2006-07-05
1102
27206함수나 프로시저 사용여부를 알려면... [1]
게스트
2006-07-05
1438
27205데이터베이스 자료가 망가졌습니다. [1]
초보자
2006-07-05
932
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다