그룹 계층 쿼리 최적화
이 문서는 최소한의 오버헤드로 대규모 그룹 계층에서 모든 하위 항목(서브그룹 또는 프로젝트)을 로드하는 데 도움이 되는 계층 캐시 최적화 전략을 설명합니다. 이 최적화는 GitLab 에픽 내에서 구현되었습니다. 최적화는 700개 이상의 하위 항목(프로젝트 및 그룹) 수를 가진 그룹 계층에 대해 Namespaces::EnableDescendantsCacheCronWorker 워커를 통해 자동으로 활성화됩니다. 더 작은 그룹에 대해 수동으로 최적화를 활성화하면 눈에 띄는 효과가 없을 수 있습니다. 성능 비교 # gitlab-org 그룹의 모든 그룹 ID 로드(해당 그룹 자체 및 하위 항목 포함). 최적화된 캐시 쿼리 Traversal IDs 기반 조회 쿼리 버퍼 풀에서 42 버퍼 (~336.00 KiB) SELECT "namespaces"."id" FROM UNNEST ( COALESCE ( ( SELECT ids FROM ( SELECT "namespace_descendants"."s
