ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Index (1)
    개발 2022. 6. 29. 01:28

    Index ?

    데이터를 빠르게 찾을 수 있게 하는 하나의 도구로 보면 된다. 

    ex) 책의 뒤에 존재하는 찾아보기 같은 개념이라 생각 하면 된다.

     

    Index의 장단점

    Index의 장점으로는 데이터가 아주 많을 때 기존보다 아주 빠른 응답속도로 쿼리의 결과를 얻을 수 있다는 점이 있다.

    컴퓨터의 입장에서는 적은 처리량으로 요청한 결과를 빨리 얻을 수 있으므로 결과적으로 전체 시스템의 성능이 향상된다고도 볼 수 있다.

     

    Index의 단점으로는 아무래도 Index를 담을 새로운 공간이 데이터베이스에 필요하다는 점과, 초기 Index 생성시 시간이 오래걸린다는 점이 존재한다, 또 무분별하게 Index를 생성하게 되면 ? > 책의 찾아보기에 하나의 단어가 이곳 저곳에 있어 찾는데 복잡해지는 것과 같은 현상이 발생한다.

     

    Index 크게 두가지 종류로 나뉜다.

    • Clusterd Index : 쉽게 표현하면 영어사전 같은 느낌이다.
      • PK로 지정 시 자동으로 생성되며, 해당 PK Column을 기준으로 자동 정렬 된다.
    • Secondary Index : 쉽게 표현하면 책의 찾아보기 같은 느낌이다.
      • Secondary Index는 Clusterd Index와 다르게 정렬되지 않는다.

     

    인덱스는 테이블의 Column 단위에 생성되며 하나의 Column에 하나의 Index를 생성할 수 있다. (사실 여러개 Index를 만들 수 있고, 여러개의 Column을 묶어 하나의 Index를 생성할 수도 있지만 드문 경우라고 한다.)

     

    Primary Key로 Column을 생성하면 해당 Column에 Clusterd Index가 생성된다. 

    -> Primary key는 테이블에 보통 하나만 지정된다. 

    -> Clusterd Index는 테이블에 한개만 만들 수 있다.

     

    테이블에서 인덱스를 조회할 때는 다음과 같은 Query를 사용한다.

    SHOW INDEX FROM TABLE;

    해당 Query문을 실행시키고 Key_name에 PRIMARY값이 들어 있는 경우는 PK로 설정하여 자동으로 생성된 Index라는 의미이다.

    Column_name에 있는 값은 어느 Column에 Index가 만들어 져있다는 뜻이며, Non_Unique같은경우 0-false, 1-true  값을 갖는다.

     

    Unique_Index 같은 경우 PK, 혹은 Unique로 지정한 Column에서만 생성 할 수 있으며 고유한 Index로 값이 중복되지 않아야 한다. 그 외는 단순 Index로 생성 된다. 

    그러나 Unique한 Index라고 Clutsterd Index가 아니다 ! -> PK로 생성된 Index만임을 유의한다. 나머지는 Secondary Index이다.

     

     

     

    '개발' 카테고리의 다른 글

    JPA 연관 관계 매핑  (0) 2022.08.02
    Index (2)  (0) 2022.07.05
    Docker - 1  (0) 2021.06.14
    5xx Server Error  (0) 2021.05.05
    4xx Client Error  (0) 2021.05.05
Designed by Tistory.