Skip to main content
이 설정은 system.merge_tree_settings에서 확인할 수 있으며, ClickHouse 소스에서 자동으로 생성됩니다.

write_final_mark

더 이상 사용되지 않는 설정이며, 아무런 동작도 하지 않습니다.

write_marks_for_substreams_in_compact_parts

Compact 파트에서 컬럼별이 아니라 각 서브스트림별로 마크를 작성하도록 합니다. 이를 통해 데이터 파트에서 개별 서브컬럼을 효율적으로 읽을 수 있습니다. 예를 들어, 컬럼 t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) 는 다음 서브스트림으로 직렬화됩니다.
  • 튜플 원소 a의 String 데이터용 t.a
  • 튜플 원소 b의 UInt32 데이터용 t.b
  • 튜플 원소 c의 배열 크기용 t.c.size0
  • 튜플 원소 c의 중첩 배열 원소에 대한 null 맵용 t.c.null
  • 튜플 원소 c의 중첩 배열 원소에 대한 UInt32 데이터용 t.c
이 설정이 활성화되면 이 5개의 서브스트림 각각에 대해 마크를 작성합니다. 즉, 필요할 경우 각 서브스트림의 데이터를 granule에서 개별적으로 읽을 수 있습니다. 예를 들어 서브컬럼 t.c를 읽으려는 경우 서브스트림 t.c.size0, t.c.null, t.c의 데이터만 읽고 t.at.b 서브스트림의 데이터는 읽지 않습니다. 이 설정이 비활성화되면, 최상위 컬럼 t에 대해서만 마크를 작성합니다. 즉, 일부 서브스트림의 데이터만 필요하더라도 항상 granule에서 전체 컬럼 데이터를 읽게 됩니다.
마지막 수정일 2026년 7월 23일