Перейти к основному содержанию

estimateCompressionRatio

Добавленный в: v25.4.0 Оценивает коэффициент сжатия заданного столбца без выполнения сжатия.
В приведённых ниже примерах результат будет различаться в зависимости от кодека сжатия, используемого на сервере по умолчанию. См. Кодеки сжатия столбцов.
Синтаксис
estimateCompressionRatio([codec, block_size_bytes])(column)
Параметры
  • codec — Строка, содержащая кодек сжатия или несколько кодеков, разделённых запятыми. String
  • block_size_bytes — Размер блока сжатых данных. Это аналогично одновременной установке max_compress_block_size и min_compress_block_size. Значение по умолчанию — 1 MiB (1048576 байт). Максимально допустимое значение — 256 MiB (268435456 байт). UInt64
Аргументы
  • column — Столбец любого типа. Any
Возвращаемое значение Возвращает оценку коэффициента сжатия для указанного столбца. Float64 Примеры Базовое использование с кодеком по умолчанию
Query
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
Response
┌───────────estimate─┐
│ 1.9988506608699999 │
└────────────────────┘
Использование конкретного кодека
Query
SELECT estimateCompressionRatio('T64')(number) AS estimate FROM compression_estimate_example
Response
┌──────────estimate─┐
│ 3.762758101688538 │
└───────────────────┘
Использование нескольких кодеков
Query
SELECT estimateCompressionRatio('T64, ZSTD')(number) AS estimate FROM compression_estimate_example
Response
┌───────────estimate─┐
│ 143.60078980434392 │
└────────────────────┘
Последнее изменение 10 июня 2026 г.