Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

인덱스가 걸려있다고 항상 인덱스 스캔이 되는것은 아닙니다.

원하는 데이터를 뽑기위해 SQL문은 더 복잡해질수 있으며 실행계획은 DBMS가 세우며

옵티마이져 통계에의해 통계에의해  어떠한 테이블에서 풀스캔이 더 효율성이 좋다고 판단되면 풀스캔을 할수도

인덱스를 무시하고 풀스캔이 진행될수도 있습니다. 이것은 실행계획을 조사하면

나오는 Tip으로 (Mysql은 Extra) 알수가 있습니다.


인덱스Type은 인덱스 최상위 Type은 페이지 물리적 재배열여부에따라 클러스터와 논클러스터로 나뉠수 있으며

동일 데이터라고해도 데이터라고 해도 스캔의 횟수가 달라질수 있습니다.

클러스터 인덱스 VS 논클러스터 인덱스
비교클러스터 인덱스논클러스터 인덱스
차이물리적으로 행을 재배열물리적으로 재배열 하지않음
스캔 방식

페이지크기작음
선택도
  • 30% 이내에
  • 키값이 이미 페이지단위로 정렬이 된상태이기때문에 7,8,9를 찾기위해 IO접근 1번발생
  • 3%이내
  • 7,8,9를 찾기위해 페이지 2,3를 두번 접근하는 IO 발생



최대갯수페이지 논리갯수테이블당1테이블당 249

지정방법

(DB마다 다를수있음)

PRIMARY

KEY는자동

KEY에서만 사용될수 있습니다.

( 기본이냐 옵션이냐의 차이는 DB마다다름)

명시해서 지정
키의이점

데이터 값의 범위가 크며, 키에따른 Order규칙이

키가 조인에 자주사용됨


장단점
  • 조회수가 수정수보다 월등히 많을때
  • 빈번한 업데이트에서는 불리함
빈번한수정에 이점이 있다고 볼수없지만, 클러스터 인덱스에비해 이점이있음
  • 업데이트에서 재인덱싱이 일어나기때문에 분리
  • 데이터 추가에따른 인덱싱페이지의 구조변화가 없기때문에 데이터 추가에 유리
  • 데이터량이 많아짐에따라 인덱스페이지가 파편화되기때문에 검색은 불리해질수 있음








선택도와 실행계획의 분리 추가 참조사이트

스캔 범위/방식에따른 실행계획 전략

...