LowCardinality(T)
Изменяет внутреннее представление других типов данных на кодирование с использованием словаря.
Синтаксис
Параметры
data_type
— String, FixedString, Date, DateTime, и числа, за исключением Decimal.LowCardinality
неэффективен для некоторых типов данных, см. описание настройки allow_suspicious_low_cardinality_types.
Описание
LowCardinality
— это надстройка, которая изменяет метод хранения данных и правила обработки данных. ClickHouse применяет кодирование словарем к колонкам LowCardinality
. Работа с данными, закодированными словарем, значительно увеличивает производительность запросов SELECT для многих приложений.
Эффективность использования типа данных LowCardinality
зависит от разнообразия данных. Если словарь содержит менее 10,000 различных значений, ClickHouse в основном демонстрирует более высокую эффективность чтения и хранения данных. Если словарь содержит более 100,000 различных значений, ClickHouse может работать хуже по сравнению с использованием обычных типов данных.
Рассмотрите возможность использования LowCardinality
вместо Enum при работе со строками. LowCardinality
предоставляет больше гибкости в использовании и часто демонстрирует такую же или более высокую эффективность.
Пример
Создайте таблицу с колонкой LowCardinality
:
Связанные настройки и функции
Настройки:
- low_cardinality_max_dictionary_size
- low_cardinality_use_single_dictionary_for_part
- low_cardinality_allow_in_native_format
- allow_suspicious_low_cardinality_types
- output_format_arrow_low_cardinality_as_dictionary
Функции: