MySQL - index란 ?

so2·2021년 4월 28일
0
post-thumbnail
post-custom-banner

index란 ?

특정 데이터 값에 대한 색인 (목차)

index사용이 적합할 때 
- 중복되는 데이터가 적을 때
- 전체 중 10~15%내의 데이터를 가져오고자 할 때 
- WHERE절에 자주 사용되는 컬럼
- JOIN절에 자주 사용되는 컬럼
- ORDER BY절에 자주 사용되는 컬럼

장점 
- 데이터를 빠르게 검색, 제공할 수 있다. 

단점 
- INSERT,UPDATE,DELETE쿼리를 사용할 때 정렬을 해서 
  데이터를 저장해야하기 때문에 쿼리 수행 시간이 늘어난다.
- 인덱스를 위한 추가 공간이 필요하다.

index 종류

Clustered Index

  • 제약조건 PRIMARY KEY or UNIQUE NO NULL에 의해 자동 생성
  • 데이터가 정렬된 상태로 저장
  • 테이블 당 한 개만 생성
    (함께 있을 경우 PK를 Clustered Index로 사용)

Secondary Index

  • 제약조건 UNIQUE, FOREIGN, NORMAL, COMPOSITE KEY로 자동 생성
  • 테이블에 여러개의 인덱스 사용 가능
  • 리프 페이지는 데이터 페이지를 가리키는 주소값을 가지고 있다

post-custom-banner

0개의 댓글