estimateCompressionRatio
أُضيف في: v25.4.0
تُقدِّر الضغط لعمود معيّن دون ضغطه فعليًا.
الصيغة
estimateCompressionRatio([codec, block_size_bytes])(column)المعلمات
codec— قيمةStringتحتوي على codec ضغط واحد أو عدة codecs مفصولة بفواصل ضمن سلسلة واحدة.Stringblock_size_bytes— حجم كتلة البيانات المضغوطة. وهذا يشبه ضبط كلٍّ منmax_compress_block_sizeوmin_compress_block_size. القيمة الافتراضية هي 1 MiB (1048576 بايت). والحد الأقصى المسموح به هو 256 MiB (268435456 بايت).UInt64
الوسائط
column— عمود من أي نوع.Any
القيمة المرجعة
تعيد قيمة تقديرية للضغط للعمود المحدد. Float64
أمثلة
الاستخدام الأساسي مع codec الافتراضي
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 │
└────────────────────┘