Passer au contenu principal
Modifie la représentation interne d’autres types de données pour utiliser un encodage par dictionnaire.

Syntaxe

LowCardinality(data_type)
Paramètres

Description

LowCardinality est une surcouche qui modifie la méthode de stockage des données ainsi que les règles de leur traitement. ClickHouse applique un encodage par dictionnaire aux colonnes LowCardinality. L’utilisation de données encodées par dictionnaire améliore considérablement les performances des requêtes SELECT dans de nombreux cas d’usage. L’efficacité du type de données LowCardinality dépend de la diversité des données. Si un dictionnaire contient moins de 10 000 valeurs distinctes, ClickHouse offre généralement une meilleure efficacité de lecture et de stockage des données. Si un dictionnaire contient plus de 100 000 valeurs distinctes, ClickHouse peut être moins performant qu’avec des types de données ordinaires. Envisagez d’utiliser LowCardinality à la place de Enum lorsque vous travaillez avec des chaînes de caractères. LowCardinality offre davantage de flexibilité et présente souvent une efficacité équivalente, voire supérieure.

Exemple

Créez une table avec une colonne LowCardinality :
CREATE TABLE lc_t
(
    `id` UInt16,
    `strings` LowCardinality(String)
)
ENGINE = MergeTree()
ORDER BY id
Paramètres : Fonctions :
Dernière modification le 25 juin 2026