enable_adaptive_codec_selection 설정으로 활성화됨)을 확인할 수 있습니다.
codec_block_counts를 선택하면 메타데이터뿐 아니라 .bin 데이터 파일도 읽습니다. 다른 컬럼은 메타데이터만 읽습니다.
columns_substreams.txt에 서브스트림을 기록하지 않는 파트는 나열되지 않습니다.
보고되는 모든 값은 테이블의 데이터에서 파생되므로, 결과의 어떤 컬럼이든 읽으려면 해당 테이블의 모든 컬럼에 대한 SELECT 권한이 필요합니다. 일부 컬럼만 포함하는 grant로는 충분하지 않습니다. 이 권한은 DESCRIBE 등으로 함수의 구조를 확인할 때도 필요합니다. 테이블을 전혀 볼 수 없는 사용자, 즉 해당 테이블에 대한 SHOW TABLES 권한이 없는 사용자는 테이블의 존재 여부와 관계없이 ACCESS_DENIED를 받으므로, 이 함수는 그러한 사용자에게 어떤 테이블이 존재하는지 알려주지 않습니다.
현재 사용자에게 해당 테이블의 행 정책이 적용되면, 정책으로 숨겨진 행까지 개수에 포함되므로 codec_block_counts를 읽을 때 ACCESS_DENIED가 발생합니다. 다른 컬럼은 계속 읽을 수 있으며, system.parts_columns는 행 정책과 관계없이 이를 보고합니다.
구문
인수
반환 값
원본 테이블의 각 (활성 파트, 컬럼, 서브스트림) 조합에 대해 하나의 행을 포함하는 테이블 객체입니다.part_name(String) — 컬럼이 속한 활성 데이터 파트입니다.column(String) — 컬럼명입니다.substream(String) — 카운트가 집계되는 컬럼의 물리적 스트림입니다.system.parts_columns.substreams와 일치합니다.data_compressed_bytes(Nullable(UInt64)) — 서브스트림의 압축된 데이터 크기(바이트)입니다.Compact파트에서는NULL입니다.data_uncompressed_bytes(Nullable(UInt64)) — 서브스트림의 비압축 데이터 크기(바이트)입니다.Compact파트에서는NULL입니다.codec_block_counts(Map(String, UInt64)) — 코덱별로 그룹화한 이 서브스트림의 압축 블록 수입니다. 컬럼이 하나의 데이터 파일을 공유하므로 스트림별 코덱 정보가 없는Compact파트에서는 비어 있습니다.
사용 예시
sumMap을 사용하는 GROUP BY column입니다.
LowCardinality 컬럼은 딕셔너리와 인덱스 스트림을 각각 별도로 보고합니다: