低基数类型

把其它数据类型转变为字典编码类型。

语法

  1. LowCardinality(data_type)

参数

描述

LowCardinality 是一种改变数据存储和数据处理方法的概念。 ClickHouse会把 LowCardinality 所在的列进行dictionary coding。对很多应用来说,处理字典编码的数据可以显著的增加SELECT查询速度。

使用 LowCarditality 数据类型的效率依赖于数据的多样性。如果一个字典包含少于10000个不同的值,那么ClickHouse可以进行更高效的数据存储和处理。反之如果字典多于10000,效率会表现的更差。

当使用字符类型的时候,可以考虑使用 LowCardinality 代替EnumLowCardinality 通常更加灵活和高效。

例子

创建一个 LowCardinality 类型的列:

  1. CREATE TABLE lc_t
  2. (
  3. `id` UInt16,
  4. `strings` LowCardinality(String)
  5. )
  6. ENGINE = MergeTree()
  7. ORDER BY id

相关的设置和函数

设置:

函数:

参考