跳至主要内容

LowCardinality(T)

更改其他数据类型的内部表示以进行字典编码。

语法

LowCardinality(data_type)

参数

描述

LowCardinality 是一种改变数据存储方法和数据处理规则的超结构。ClickHouse 对 LowCardinality 列应用 字典编码。使用字典编码数据操作可以显着提高许多应用程序的 SELECT 查询性能。

使用 LowCardinality 数据类型的效率取决于数据的多样性。如果字典包含少于 10,000 个不同的值,那么 ClickHouse 通常会显示出更高的数据读取和存储效率。如果字典包含超过 100,000 个不同的值,那么 ClickHouse 的性能可能会比使用普通数据类型更差。

在处理字符串时,请考虑使用 LowCardinality 代替 EnumLowCardinality 提供了更多使用上的灵活性,并且通常可以实现相同或更高的效率。

示例

创建一个包含 LowCardinality 列的表

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

设置

函数