안녕하세요 질문하나드립니다. 0 4 893

by DB공부는끝이없구나 [Oracle 기초] 인덱스 오라클 [2017.09.04 22:17:56]


안녕하세요~

여기서 이런 질문을 올려도 되는지 모르지만... 올려도 된다면 질문 하나 드릴려고 합니다.

 

문제는 이렇습니다.

인덱스 효율 문제
인덱스(단일인덱스)가 주어지고 가장 효율적인 인덱스를 선택하기
전체 80row 데이터

select * from ???
where eqpid = :b1
  and step_seq = :b2
  and tkin_dttm = '-'

eqpid = 38000row(Distinct)
step_seq = 22000row(Distinct)
tkin_dttm = 380000row(Distinct)

1) index1(eqpid)
2) index2(step_seq) 
3) index3(tkin_dttm)
4) Full Scan

 

제 생각에는 3번이 답인거 같거든요

row가 distinct row 기 때문에 가장 많이 있는 3번이라고 생각하는지 제 생각이 맞는지 확인하고 싶습니다.

답변 주시면 정말 감사할거 같습니다.

그리고, 이런거 적으면 안된다면 그것도 답글 주시면 빠르게 삭제 하겠습니다.

감사합니다.

 

by 주킹 [2017.09.05 08:30:06]

이론적으로는 맞지만 주로 사용되는 쿼리들이 해당 컬럼을 기준으로 많이 조회되는 지를 먼저 선행으로 파악하셔야 할듯합니다.


by DB공부는끝이없구나 [2017.09.05 22:26:42]

제가 생각만 가지고 있으니 확신이 없었습니다.

감사합니다.

 


by 호리 [2017.09.05 11:15:57]

위에 있는 인덱스 중에서 골라야 한다면 3번이 가장 나을 듯하고..된다면 결합으로 가시는 것도..

우선은 조회패턴부터 확인하시는게 좋을 것 같습니다.


by DB공부는끝이없구나 [2017.09.05 22:27:09]

인덱스 자체를 제가 만들려면... 힘들어서요... 하하

먼저 답변 주시면 채택 드렸습니다. 죄송합니다.

그리고... 답변 감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입