MySQL에서의 B+트리는 뭐가 다를까?
·
Database/MySQL
소개데이터베이스 성능 최적화를 논할 때 가장 먼저 떠오르는 요소는 인덱스 성능입니다. 인덱스가 없다면 대량의 데이터 속에서 원하는 값을 찾기 위해 풀 스캔을 수행해야 하고, 이는 곧 쿼리 성능 저하로 이어집니다. 그래서 대부분의 RDBMS는 효율적인 탐색을 위해 B+Tree 기반 인덱스 구조를 사용합니다. 하지만 MySQL 에서는 단순히 알려진 B+Tree 방식을 사용한다고 생각하지 않았습니다. 현대 시스템에서는 데이터가 수천만 건에서 수억 건이 넘어갈 것인데 이를 B+Tree 구현 그대로 사용한다면 성능저하가 있을 것이라는 생각이 들어 MySQL이 B+Tree 를 어떻게 활용하고 있는지 알아 보았습니다. 이번 포스트에서는 MySQL InnoDB 스토리지 엔진이 단순히 B+Tree를 사용하는 수준을 넘어..