ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인덱스
    카테고리 없음 2024. 8. 11. 00:37

    인덱스를 왜 쓸까?

    특정 조건에서 빠르게 원하는 값(튜플)을 찾기 위해

     

    인덱스를 만드는 방법

    - 기존 테이블이 있는 경우

     

    - 테이블을 생성하며 만드는 경우

     

    unique index vs index

     

    multiindex vs index

     

    인덱스 생성시 여러개의 컬럼을 함께 지정한 멀티 인덱스는 속성의 순서가 중요하다.

    첫번째 속성 기준으로 정렬을 먼저 한뒤, 두번째, 세번째 순차적으로 정렬을 하여 인덱스 테이블을 만들기 때문

    인덱스는 바이너리 서치를 통해 탐색을 하므로 정렬이 필수이다.

     

    멀티 인덱스에서 두번째 값만 조건문에 있다면?

    멀티 인덱스를 사용하는 것이 오히려 성능이 떨어질 수 있다. 이때는 새로운 인덱스를 생성해야 한다.

     

    결론~

    사용되는 쿼리에 맞춰서 적절하게 인덱스를 사용해줘야 성능 향상의 효과를 볼 수 있다 :)

     

    쿼리가 어떤 인덱스를 사용하는지 알고 싶다면?

    - select * from table 이라는 쿼리가 있다고 가정

    - explain select * from table 처럼 앞에 explain 키워드를 적어주자

    -> 이때 사용되는 인덱스는 optimizer가 적절하게 선택해준다

     

    이때, 내가 사용하려는 인덱스를 직접 지정하고 싶다면?

     

     

Designed by Tistory.