Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

MySQL / MariaDB (InnoDB 기준) index 종류 본문

MySQL/아키텍처 및 내부 구조

MySQL / MariaDB (InnoDB 기준) index 종류

`O` 2021. 3. 10. 11:20
728x90
반응형

해당 페이지에서는 MySQL / MariaDB Index 종류에 대해서 알아본다.
(참조 : opentutorials.org/module/98/1538)
(참조 : m.blog.naver.com/varkiry05/221347489960)

 

해당 페이지를 보기 전, 인덱스의 기본 개념을 알고 싶다면
아래의 인덱스 개요글을 먼저 보는 것을 권장한다.

 

2021.03.09 - [DB 관련 지식/DB 개념] - 인덱스 (Index)

 

인덱스 (Index)

해당 페이지에서는 DB 에서 쓰이는 인덱스 개념에 대해서 알아본다. (참고 사이트) itholic.github.io/database-index/, ko.wikipedia.org/wiki/%EC%9D%B8%EB%8D%B1%EC%8A%A4_(%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%..

dbknowledge.tistory.com


MySQL / MariaDB 는 다양한 스토리지 엔진을 구성 할 수 있기 때문에 그에 따른 사용가능한 인덱스 종류가 다를 수 있다. 이 페이지에서는 가장 많이 쓰이는 스토리지 엔진인 InnoDB 를 기준으로 설명한다.

 

우선 MySQL / MariaDB 의 기본 syntax (구문 문법) 는 아래와 같다. (출처 : MySQL 공식 Doc)

CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (key_part,...)
    [index_option]
    [algorithm_option | lock_option] ...

key_part:
    col_name [(length)] [ASC | DESC]

index_option: {
    KEY_BLOCK_SIZE [=] value
  | index_type
  | WITH PARSER parser_name
  | COMMENT 'string'
}

index_type:
    USING {BTREE | HASH}

algorithm_option:
    ALGORITHM [=] {DEFAULT | INPLACE | COPY}

lock_option:
    LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}

 

MySQL / MariaDB 인덱스 속성에 따라 Btree, Hash 인덱스를 선택 할 수 있으며, 이에 대한 특성은 위 링크를 참조 한다.

 

실무적으로 특정 설정이 없다면 InnoDB 가 사용하는 기본 인덱스는 B-Tree 구조다.

 

Hash 는 메모리를 활용하는 인메모리 스토리지 엔진에서 주로 사용하나 (ex : NDB 클러스터 스토리지) 
특성 조건에 따라 Innodb 에서 사용을 할 수 있다. (참조 링크 :hoing.io/archives/12610)

 

MySQL Hash Index

1. MySQL Hash IndexHash index 는 B-tree 만큼 일반적/범용적으로 사용되지는 않지만 고유의 기능과 특성을 가지고 있는 인덱스 오브젝트 입니다. Hash index 는 동등(equal =) 비교 검색시 사용 및 최적화 되

hoing.io


또한 응용에 따라서 Adaptive Hash Index 라는 Hash Index 에서 파생한 MySQL / MariaDB 의 고유 인덱스를 사용 할 수도 있는데, 이를 활용하여 성능을 개선한 좋은 사례글이 kakao tech 블로그에 있다.
(참조 링크: tech.kakao.com/2016/04/07/innodb-adaptive-hash-index/)

 

MySQL InnoDB의 Adaptive Hash Index 활용

개요 MySQL의 InnoDB에는 Adaptive Hash Index 기능이 있는데, 어떤 상황에서 효과가 있고 사용 시 반드시 주의를 해야할 점에 대해서 정리하도록 하겠습니다. InnoDB B-Tree 인덱스 MySQL의 InnoDB의 대표적인

tech.kakao.com

 

 

 

 

 

 

 

 

반응형
Comments