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

LowCardinality(T)

Изменяет внутреннее представление других типов данных на закодированное в словаре.

Синтаксис

LowCardinality(data_type)

Параметры

Описание

LowCardinality — это надстройка, которая изменяет метод хранения данных и правила обработки данных. ClickHouse применяет кодирование словарем к колонкам LowCardinality. Операции с данными, закодированными в словаре, значительно увеличивают производительность запросов SELECT для многих приложений.

Эффективность использования типа данных LowCardinality зависит от разнообразия данных. Если словарь содержит менее 10,000 различных значений, то ClickHouse в основном показывает более высокую эффективность чтения и хранения данных. Если словарь содержит более 100,000 различных значений, то ClickHouse может работать хуже по сравнению с использованием обычных типов данных.

Рассмотрите возможность использования LowCardinality вместо Enum при работе со строками. LowCardinality предоставляет больше гибкости в использовании и часто показывает такую же или более высокую эффективность.

Пример

Создайте таблицу с колонкой LowCardinality:

CREATE TABLE lc_t
(
    `id` UInt16,
    `strings` LowCardinality(String)
)
ENGINE = MergeTree()
ORDER BY id

Настройки:

Функции: