산타는 없다

MySql의 인덱스 자료구조 본문

Computer Science/데이터베이스

MySql의 인덱스 자료구조

LEDPEAR 2021. 5. 13. 00:14
반응형

일반적으로 데이터베이스의 인덱스 자료구조는 B / B+ tree 또는 Hash입니다.

Hash 자료구조 인덱스는 equal 검색을 빠르게 수행할 수 있지만, 대소 비교 및 정렬에서는 사용할 수 없는 단점이 있습니다. 반면에 B / B+ tree는 equal연산이 Hash보다 약간 느리지만 대소 비교 및 정렬에서도 사용할 수 있습니다.

그 중 MySql의 인덱스 자료구조가 어떤 자료구조로 이루어져 있는지 찾아보았습니다.

결과를 말씀드리자면 MySql은 MyISAM, InnoDB, Archive 등과 같은 엔진을 사용하는데
엔진마다 사용하는 자료구조가 다릅니다.

엔진 인덱스 자료구조 엔진 특징
MyISAM B tree 트랜잭션을 지원하지 않고, Table 단위의 Locking입니다. 따라서, 다수개의 세션이 동시에 작업하는 경우 성능이 저하될 수 있습니다.
InnoDB B+ tree MySQL에서 기본으로 설정되는 엔진이며 일반적인 DBMS 기능을 지원합니다.
Archive X Archive는 로그 수집에 적합한 엔진으로 데이터가 메모리상에서 압축된 후, 압축된 상태로 디스크에 저장됩니다. 한번 Insert 된 데이터는 Update나 Delete를 할 수 없으며, 인덱스를 지원하지 않기 때문에 인덱스 자료구조가 없습니다.

 

반응형
Comments