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

> Documentación sobre la optimización LowCardinality para columnas de cadena

# LowCardinality(T)

Cambia la representación interna de otros tipos de datos para usar codificación por diccionario.

<div id="syntax">
  ## Sintaxis
</div>

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

**Parámetros**

* `data_type` — [String](/es/reference/data-types/string), [FixedString](/es/reference/data-types/fixedstring), [Date](/es/reference/data-types/date), [DateTime](/es/reference/data-types/datetime) y números, excepto [Decimal](/es/reference/data-types/decimal). `LowCardinality` no es eficiente para algunos tipos de datos; consulta la descripción de la configuración [allow\_suspicious\_low\_cardinality\_types](/es/reference/settings/session-settings#allow_suspicious_low_cardinality_types).

<div id="description">
  ## Descripción
</div>

`LowCardinality` es una superestructura que modifica el método de almacenamiento de datos y las reglas de procesamiento de datos. ClickHouse aplica [codificación por diccionario](https://en.wikipedia.org/wiki/Dictionary_coder) a las columnas `LowCardinality`. Trabajar con datos codificados por diccionario aumenta significativamente el rendimiento de las consultas [SELECT](/es/reference/statements/select) en muchas aplicaciones.

La eficiencia de usar el tipo de dato `LowCardinality` depende de la diversidad de los datos. Si un diccionario contiene menos de 10.000 valores distintos, ClickHouse suele mostrar una mayor eficiencia en la lectura y el almacenamiento de datos. Si un diccionario contiene más de 100.000 valores distintos, ClickHouse puede ofrecer un peor rendimiento en comparación con el uso de tipos de datos convencionales.

Considere usar `LowCardinality` en lugar de [Enum](/es/reference/data-types/enum) al trabajar con cadenas. `LowCardinality` ofrece más flexibilidad y, a menudo, la misma eficiencia o una mayor.

<div id="example">
  ## Ejemplo
</div>

Cree una tabla con una columna de `LowCardinality`:

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

<div id="related-settings-and-functions">
  ## Configuración y funciones relacionadas
</div>

Configuración:

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

Funciones:

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

<div id="related-content">
  ## Contenido relacionado
</div>

* Blog: [Optimización de ClickHouse con esquemas y códecs](https://clickhouse.com/blog/optimize-clickhouse-codecs-compression-schema)
* Blog: [Trabajo con datos de series temporales en ClickHouse](https://clickhouse.com/blog/working-with-time-series-data-and-functions-ClickHouse)
* [Optimización de String (video de la presentación en ruso)](https://youtu.be/rqf-ILRgBdY?list=PL0Z2YDlm0b3iwXCpEFiOOYmwXzVmjJfEt). [Diapositivas en inglés](https://github.com/ClickHouse/clickhouse-presentations/raw/master/meetup19/string_optimization.pdf)
