Search

#009 #계층적 데이터 구조 - Closure Table

계층 데이터 구조의 대표적인 패턴 4가지

인접목록 (Adjacency List)

경로열거 (Path enumeration)

중첩집합 (Nested set)

클로저 테이블 (Closure Table)

위와 같은 계층적 구조를 가진 데이터가 있다고 가정 하였을때, 카테고리가 상의로 분류되는 1단계 떨어진 요소로 셔츠 / 반팔티를 조회하는 것은 어느 패턴에서든 간단하다. 하지만 트리 조회 ( 하위 요소 모두 조회) 에서 각 패턴들의 쿼리와 서버의 부하측면에서 많은 차이점이 발생하므로, 각 패턴의 트리조회시 특징과 새로운 노드의 이동, 삭제에 대해서 다뤄 보도록 하겠다.

인접목록 방식

인접목록 방식으로 구성된 테이블이 있을 때, 상의 카테고리의 모든 요소를 조회하기 위해서 는 아래와 같은 쿼리가 필요하다.
SELECT * FROM 카테고리 c LEFT JOIN WHERE 부모_id = 1
SQL
복사