メインコンテンツへスキップ
メインコンテンツへスキップ

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 │
└────────────────────┘