우문현답
愚 問 賢 答
회사별 면접직군별진행 방식
    홈›회사별›당근마켓›DBA›질문 상세
    問
    당당근마켓DBA직무 역량2026년 출제

    MySQL과 PostgreSQL의 B-Tree 인덱스 작동 원리에 대해 설명해 주세요.

    답변 미리보기

    B-Tree 인덱스는 균형 트리 구조로, 모든 리프 노드까지의 깊이가 동일하게 유지됩니다. 검색 시 루트에서 시작해 비교 연산으로 좌·우 자식 노드를 골라…

    예상 답변 시간
    90~120초
    예상 꼬리질문
    3회
    난이도
    난이도 상
    출제 빈도
    보통
    INTERVIEWER'S INTENT · 면접관의 의도

    이 질문, 네 갈래로 뜯어봅니다.

    면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.

    問
    01
    B-Tree 인덱스 구조를 이해했는가?
    B-Tree 인덱스의 구조와 작동 방식을 설명하는 흔적이 답에 있어야 합니다. 없으면 면접관이 'B-Tree의 특징은 무엇인가요?'를 추가로 묻는 경우가 자주 보입니다.
    骨
    02
    MySQL과 PostgreSQL의 차이를 아는가?
    MySQL과 PostgreSQL의 B-Tree 인덱스 작동 원리의 차이에 대한 언급이 있어야 합니다. 없으면 면접관이 '어떤 점에서 다르다고 생각하나요?'를 질문하는 자리가 자주 보입니다.
    語
    03
    인덱스의 성능 영향을 설명할 수 있는가?
    B-Tree 인덱스가 쿼리 성능에 미치는 영향에 대한 설명이 흔적이 있어야 합니다. 없으면 면접관이 '인덱스가 성능에 미치는 영향은 무엇인가요?'를 추가로 묻는 경우가 많습니다.
    本
    04
    실제 사용 경험을 이야기할 수 있는가?
    B-Tree 인덱스를 사용한 경험에 대한 언급이 답에 있어야 합니다. 없으면 면접관이 '실제 프로젝트에서 어떻게 활용했나요?'를 질문하는 경우가 자주 보입니다.
    말로 해봐야 는다
    읽는 것과 말하는 건 다릅니다.
    이 질문, 소리 내어 답해 볼까요?
    당근마켓 면접관 페르소나가 이 질문을 던지고, 당신의 답에 꼬리질문으로 되물어요.
    음성으로 답해보기
    핵심 구조 설명 후 차이점약 90초B-Tree 인덱스가 범위 검색과 정렬에서 해시 인덱스보다 유리한 이유 설명 결약 58초MySQL InnoDB와 PostgreSQL의 B-Tree 구현 차이를 설명하는 결약 60초
    B-Tree 인덱스 원리 설명
    약 90초

    핵심 구조 설명 후 차이점

    B-Tree 인덱스는 균형 트리 구조로, 모든 리프 노드까지의 깊이가 동일하게 유지됩니다. 검색 시 루트에서 시작해 비교 연산으로 좌·우 자식 노드를 골라 내려가기 때문에 시간복잡도는 O(log n)입니다. MySQL(InnoDB)에서는 클러스터드 인덱스라 기본키가 리프 노드에 실제 데이터 행을 직접 저장합니다. 반면 PostgreSQL은 힙 기반 저장이라 모든 인덱스가 힙의 ctid 포인터를 갖는 세컨더리 구조입니다. 범위 검색에 유리한 이유는 리프 노드들이 양방향 링크드 리스트로 연결돼 있기 때문입니다. 실무에서 LIKE '%검색어' 형태는 B-Tree를 타지 못한다는 점이 중요한 실전 포인트라고 생각합니다. 실제 쿼리 성능 튜닝 과제에서 풀 테이블 스캔이 발생하는 원인을 B-Tree 구조로 설명하면서 팀원들과 이해를 맞출 수 있었습니다. 인덱스 설계는 읽기 패턴을 먼저 분석한 뒤 결정해야 한다는 것을 배웠습니다.

    이 결의 특징
    균형 트리의 구조를 명확히 설명한 뒤 시간복잡도와 저장소 방식의 연관성을 순차적으로 연결합니다. 리프 노드의 양방향 링크드 리스트, LIKE '%' 검색의 제약 같은 세부 지점까지 구체적으로 언급하는 패턴입니다.
    이 결이 통하는 자리
    시스템 설계 초기 단계에서 인덱스 전략을 고민해야 한다는 맥락에서 신뢰를 얻습니다. 팀 내 기술 선택을 정당화할 때 원리 기반의 설명이 필요한 조직에서 특히 유용합니다.
    예시 답변 2
    약 58초

    B-Tree 인덱스가 범위 검색과 정렬에서 해시 인덱스보다 유리한 이유 설명 결

    B-Tree 인덱스가 자주 선택되는 이유는 범위 검색과 정렬 연산에서 특히 유리하기 때문입니다. 해시 인덱스는 등가 비교(=)에서는 빠르지만, `BETWEEN`, `>`, `<`, `ORDER BY` 같은 범위·정렬 연산에서는 전체 스캔이 필요합니다. 반면 B-Tree는 키가 정렬된 상태로 저장되기 때문에 범위 검색에서 시작점을 찾은 뒤 리프 노드를 순서대로 탐색하면 됩니다. MySQL InnoDB는 클러스터링 인덱스로 B-Tree를 사용해 PRIMARY KEY 순으로 데이터가 물리적으로 정렬됩니다.

    이 구조가 `ORDER BY primary_key` 쿼리에서 추가 정렬 연산 없이 효율적인 이유입니다. 범위 검색에서 B-Tree가 해시를 이깁니다. 정렬이 물리 구조에 내재돼 있습니다. 키 정렬이 B-Tree의 핵심 강점입니다.

    이 결의 특징
    범위 검색과 정렬 연산에서의 우위를 먼저 명시한 뒤 해시 인덱스와의 비교를 통해 B-Tree의 강점을 부각합니다. 물리적 정렬 상태와 쿼리 성능의 연결고리를 반복적으로 강조하는 구조입니다.
    이 결이 통하는 자리
    성능 최적화 논의에서 '왜 이 선택이 나은가'를 기술적으로 설득해야 하는 환경에서 주목받습니다. 데이터 구조의 물리적 특성과 비즈니스 요구사항을 연결 지으려는 팀에 적합합니다.
    예시 답변 3
    약 60초

    MySQL InnoDB와 PostgreSQL의 B-Tree 구현 차이를 설명하는 결

    MySQL InnoDB와 PostgreSQL 모두 B-Tree를 기본 인덱스로 사용하지만 구현 방식에 차이가 있습니다. InnoDB는 클러스터형 인덱스 방식이라 PRIMARY KEY 자체가 B-Tree의 리프 노드에 실제 데이터 행을 포함합니다. 보조 인덱스는 리프에 PRIMARY KEY 값을 저장하고 실제 행은 클러스터형 인덱스를 다시 조회합니다. PostgreSQL은 힙 기반 저장 방식으로 인덱스 리프 노드에 물리적 위치(ctid)를 저장합니다. 이 차이로 인해 PostgreSQL에서는 VACUUM 등으로 힙의 물리 위치가 바뀌면 인덱스 ctid도 갱신해야 합니다.

    같은 B-Tree라도 클러스터형 vs 힙 기반 차이가 쿼리 성능과 유지보수에 영향을 줍니다. 구현 방식이 성능 특성을 결정합니다. 같은 구조도 엔진마다 다릅니다. 내부 구조를 알면 쿼리 설계가 달라집니다.

    이 결의 특징
    클러스터형 vs 힙 기반 두 구현 방식을 직접 대비시켜 차이를 명확히 합니다. ctid, VACUUM 같은 구체적 메커니즘을 언급하면서 같은 B-Tree도 내부 실현에 따라 달라진다는 점을 강조합니다.
    이 결이 통하는 자리
    여러 데이터베이스를 병행하는 조직에서 각 엔진의 특성을 정확히 이해하고 활용하려는 맥락에서 인정받습니다. 마이그레이션이나 멀티 플랫폼 설계 의사결정 시점에 유효합니다.
    !
    위 답변은 여러 풀이 중 한 가지 예시입니다. 정답이 아니며, 외워서 그대로 말하면 면접관이 다음 질문을 그 자리에서 시작하는 경우가 많습니다. 본인의 프로젝트·기준·숫자로 다시 짜는 자리로만 쓰세요.
    ✕자주 빠지는 자리

    같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.

    • ✕떨어뜨린 옵션이 1개라도 있는가? "이게 답이었어요"만으로는 의사결정이 아니라 그냥 선택입니다.
    • ✕선택 기준이 그 프로젝트에 한정되는가? "성능이 좋아서"는 일반론, "우리 트래픽이 X 패턴이라서"가 본인의 답입니다.
    • ✕결과 숫자 1개를 정확히 말할 수 있는가? P95·QPS·적중률 — 무엇이든 1개. 숫자가 없으면 직감으로 한 일처럼 들리기 쉽습니다.
    • ✕지금 다시 한다면 어떻게 할지 답할 수 있는가? "잘했다"보다 "이건 다르게 했을 것 같다"가 더 깊은 인상을 남깁니다.
    ▶이어질 꼬리질문

    진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.

    壹B-Tree 인덱스의 장단점은 무엇인가요?
    貳특정 상황에서 어떤 인덱스를 선택하실 건가요?
    參B-Tree 인덱스 외에 다른 인덱스는 어떤 것이 있나요?
    이제, 직접 답해볼 차례예요.
    눈으로 읽은 답은 면접장에서 나오지 않아요. 당근마켓 면접관과 이 질문으로 한 번 대화해 보세요.
    이 질문으로 모의면접 해보기
    또는, 다음 질문으로

    같은 흐름에서 자주 이어지는 질문들이에요.

    당근마켓 · DBA
    DBMS에서 B-Tree와 R-Tree 인덱스의 차이점과 각각의 장단점에 대해 설명해줄 수 있나요?
    이 질문 보기
    부동산플래닛 · 백엔드
    PostgreSQL이나 MySQL을 사용한 데이터베이스 설계 경험에 대해 설명해 주세요.
    이 질문 보기
    당근마켓 · DBA
    MySQL, PostgreSQL, MongoDB 중에서 하나를 선택해, 데이터 손실 방지를 위한 백업 및 복구 방안에 대해 설명해보세요.
    이 질문 보기
    에피드게임즈 · 백엔드
    PostgreSQL 데이터베이스를 사용한 경험이 있다면, 어떤 쿼리를 작성했는지 사례를 들어주세요.
    이 질문 보기
    안내 · 이 페이지의 질문·답변·꼬리질문은 유사 직군 채용 시장의 공개된 면접 후기·커뮤니티 게시물을 분석해 구성한 학습 자료입니다. 실제 출제·회사 공식 입장과는 무관하며, 정정 요청 시 24시간 내 반영합니다. 자세히
    개인정보처리방침이용약관문의
    © 2026 우문현답. All rights reserved.
    이 페이지 목차
    01면접관의 의도02답변의 결03실수·꼬리질문04관련 질문
    말로 해봐야 는다
    이 질문, 당근마켓 면접관과
    음성으로 답해볼까요?
    모의면접 해보기
    첫 회 무료 · 종료 즉시 음성 폐기