> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Документация по оптимизации LowCardinality для строковых столбцов

# LowCardinality(T)

Преобразует внутреннее представление других типов данных в словарно-кодированное.

<div id="syntax">
  ## Синтаксис
</div>

```sql theme={null}
LowCardinality(data_type)
```

**Параметры**

* `data_type` — [String](/ru/reference/data-types/string), [FixedString](/ru/reference/data-types/fixedstring), [Date](/ru/reference/data-types/date), [DateTime](/ru/reference/data-types/datetime) и числовые типы, кроме [Decimal](/ru/reference/data-types/decimal). Использование `LowCardinality` для некоторых типов данных неэффективно, см. описание настройки [allow\_suspicious\_low\_cardinality\_types](/ru/reference/settings/session-settings#allow_suspicious_low_cardinality_types).

<div id="description">
  ## Описание
</div>

`LowCardinality` — это надстройка, которая изменяет способ хранения и правила обработки данных. ClickHouse применяет [словарное кодирование](https://en.wikipedia.org/wiki/Dictionary_coder) к столбцам `LowCardinality`. Работа с данными, закодированными с помощью словаря, существенно повышает производительность запросов [SELECT](/ru/reference/statements/select) во многих сценариях.

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

Рекомендуется использовать `LowCardinality` вместо [Enum](/ru/reference/data-types/enum) при работе со строками. `LowCardinality` обеспечивает большую гибкость и часто дает такую же или более высокую эффективность.

<div id="example">
  ## Пример
</div>

Создайте таблицу со столбцом типа `LowCardinality`:

```sql theme={null}
CREATE TABLE lc_t
(
    `id` UInt16,
    `strings` LowCardinality(String)
)
ENGINE = MergeTree()
ORDER BY id
```

<div id="related-settings-and-functions">
  ## Связанные настройки и функции
</div>

Настройки:

* [low\_cardinality\_max\_dictionary\_size](/ru/reference/settings/session-settings#low_cardinality_max_dictionary_size)
* [low\_cardinality\_use\_single\_dictionary\_for\_part](/ru/reference/settings/session-settings#low_cardinality_use_single_dictionary_for_part)
* [low\_cardinality\_allow\_in\_native\_format](/ru/reference/settings/session-settings#low_cardinality_allow_in_native_format)
* [allow\_suspicious\_low\_cardinality\_types](/ru/reference/settings/session-settings#allow_suspicious_low_cardinality_types)
* [output\_format\_arrow\_low\_cardinality\_as\_dictionary](/ru/reference/settings/formats#output_format_arrow_low_cardinality_as_dictionary)

Функции:

* [toLowCardinality](/ru/reference/functions/regular-functions/type-conversion-functions#toLowCardinality)

<div id="related-content">
  ## Похожие материалы
</div>

* Блог: [Оптимизация ClickHouse с помощью схем и кодеков](https://clickhouse.com/blog/optimize-clickhouse-codecs-compression-schema)
* Блог: [Работа с данными временных рядов в ClickHouse](https://clickhouse.com/blog/working-with-time-series-data-and-functions-ClickHouse)
* [Оптимизация типа String (видеопрезентация на русском)](https://youtu.be/rqf-ILRgBdY?list=PL0Z2YDlm0b3iwXCpEFiOOYmwXzVmjJfEt). [Слайды на английском языке](https://github.com/ClickHouse/clickhouse-presentations/raw/master/meetup19/string_optimization.pdf)
