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

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

Настройки:

Функции: