인덱스 잘 거는 노하우가 무엇입니까? > 자유게시판

자유게시판

인덱스 잘 거는 노하우가 무엇입니까? 정보

인덱스 잘 거는 노하우가 무엇입니까?

본문

아래 글 보다 보니까 제가 하는 방식이 맞는지 갑자기 궁금해지는군요.
여러분은 어떤 원칙에 의해서 걸어주고 계십니까?
추천
0
  • 복사

댓글 6개

전 그냥 코더일뿐이라..ㅎㅎㅎㅎㅎ
책에서 본 내용을 토대로만...

심오하게 들어갈 기술력은 없군요

공부를 하는게 맞을수도 있지만 저의 궁극적인 목표는 기술자가 아니라서 ^^;
원칙은 없어요. 그냥 직감으로 걸죠.
어떤 분들은 index를 걸어주는거 분석하는데
그럴 시간에 저는 다양한 형태로 index를 바꿔서 속도변화를 살핍니다.
그렇게 시간이 흘러가면 나름 머리속에서만 있는 뽀로꾸 원칙이 생기더라구요.

물론 oracle, ms-sql, mysql은 index의 개념이 다르니까 거는 원칙도 다르구요.
솔찍히 전문 DBA가 아닌이상 미리 인덱스를 적절하게 걸어주기란 무리지요..
불당님 말씀처럼 처음엔 감으로 가고....
느려졌다 싶으면 트레이스를 떠보든지 합니다만...

느려졌다고 연락오는 업체들은 아직 없었네요.. ^^;
일단 기본은 select ?? from ~ where !!!!
여기서 where문에 들어가는 항목들을 인덱스를 걸어주시면 됩니다.
이렇게 저렇게 조합을 만들어서 테스트해보시고요
우선 업무적으로 필요한 컬럼들, 연결고리가 많은것들을 대상으로 수집한후에
인덱스 키값으로 정할것의 분포도를 조사하는겁니다.
그래서 10% 미만인것들을 찾아서 인덱스를 만듭니다.
적절하게 결합인덱스를 만들면 인덱스 갯수를 줄일 수 있습니다.
아 걸어주는 거였군요^^  만드는걸로 잘못봤네요.
일반적으로는 드라이빙테이블에서 unique 한 것 위주로 걸면되죠
그리고 range scan 할 경우는 분포도가 적은것이 걸리도록 where 조건을 바꿔줘야죠

group by를 잘 사용해서  인덱스를 사용할 수 있는 집합(인라인 뷰)을 만들고 조인합니다.
© SIRSOFT
현재 페이지 제일 처음으로