본문으로 바로가기
본문으로 바로가기

estimateCompressionRatio

estimateCompressionRatio

도입된 버전: v25.4

지정된 컬럼을 실제로 압축하지 않고 압축 비율을 추정합니다.

참고

아래 예제에서 결과는 서버의 기본 압축 코덱에 따라 달라집니다. Column Compression Codecs를 참조하십시오.

구문

estimateCompressionRatio([codec, block_size_bytes])(column)

파라미터

  • codec — 하나의 압축 코덱 또는 여러 개의 압축 코덱을 쉼표로 구분해 포함하는 문자열입니다. String
  • block_size_bytes — 압축된 데이터의 블록 크기입니다. 이는 max_compress_block_sizemin_compress_block_size를 모두 설정하는 것과 유사합니다. 기본값은 1 MiB(1048576바이트)입니다. UInt64

인자

  • column — 임의 타입의 컬럼입니다. Any

반환 값

지정된 컬럼에 대한 추정 압축률을 반환합니다. Float64

예시

기본 코덱을 사용하는 기본 예

CREATE TABLE compression_estimate_example
(
    `number` UInt64
)
ENGINE = MergeTree()
ORDER BY number
SETTINGS min_bytes_for_wide_part = 0;

INSERT INTO compression_estimate_example
SELECT number FROM system.numbers LIMIT 100_000;

SELECT estimateCompressionRatio(number) AS estimate FROM compression_estimate_example
┌───────────estimate─┐
│ 1.9988506608699999 │
└────────────────────┘

특정 코덱 사용

SELECT estimateCompressionRatio('T64')(number) AS estimate FROM compression_estimate_example
┌──────────estimate─┐
│ 3.762758101688538 │
└───────────────────┘

여러 코덱 사용하기

SELECT estimateCompressionRatio('T64, ZSTD')(number) AS estimate FROM compression_estimate_example
┌───────────estimate─┐
│ 143.60078980434392 │
└────────────────────┘