Passer au contenu principal

estimateCompressionRatio

Introduit dans : v25.4.0 Estime le ratio de compression d’une colonne donnée sans la compresser.
Pour les exemples ci-dessous, le résultat varie selon le codec de compression par défaut du serveur. Voir Codecs de compression des colonnes.
Syntaxe
estimateCompressionRatio([codec, block_size_bytes])(column)
Paramètres
  • codec — Chaîne contenant un codec de compression ou plusieurs codecs séparés par des virgules dans une seule chaîne. String
  • block_size_bytes — Taille de bloc des données compressées. Cela revient à définir à la fois max_compress_block_size et min_compress_block_size. La valeur par défaut est de 1 MiB (1048576 octets). La valeur maximale autorisée est de 256 MiB (268435456 octets). UInt64
Arguments
  • column — Colonne de n’importe quel type. Any
Valeur renvoyée Renvoie une estimation du ratio de compression pour la colonne donnée. Float64 Exemples Utilisation de base avec le codec par défaut
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 │
└────────────────────┘
Utiliser un codec spécifique
Query
SELECT estimateCompressionRatio('T64')(number) AS estimate FROM compression_estimate_example
Response
┌──────────estimate─┐
│ 3.762758101688538 │
└───────────────────┘
Utiliser plusieurs codecs
Query
SELECT estimateCompressionRatio('T64, ZSTD')(number) AS estimate FROM compression_estimate_example
Response
┌───────────estimate─┐
│ 143.60078980434392 │
└────────────────────┘
Dernière modification le 25 juin 2026