데이터베이스 인덱스
·
Computer Science/Database
인덱스란?데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로 저장되는 컬럼의 값을 사용하여 항상 정렬된 상태를 유지한다 (MySql InnoDB 기준) 값을 항상 정렬된 상태로 유지하는 이유는 B-Tree의 변형 구조인 B+Tree 자료구조를 통해 인덱스를 구현하기 때문이다 먼저 B-Tree의 구조를 알아보자 B-Tree B-Tree는 균형 잡힌 트리 구조를 가지며, 데이터를 정렬된 상태로 유지하는 특징을 갖고 있다 B-Tree에서는 크게 3가지의 노드가 존재한다루트 노드 (최상위)리프 노드 (최하위)브랜치 노드 (중간) B-Tree는 모든 데이터를 순회하기 위해서 트리의 모든 노드를 방문해야 한다는 단점이 존재하다 그렇기에 이를 개선한 B+Tree가 인덱스의 자료구조로 채택되었다 B+Tree ..