メインコンテンツまでスキップ
メインコンテンツまでスキップ

LowCardinality(T)

他のデータタイプの内部表現を辞書エンコード形式に変更します。

Syntax

LowCardinality(data_type)

Parameters

Description

LowCardinalityは、データストレージ方法とデータ処理ルールを変更するための高次構造です。ClickHouseはLowCardinalityカラムに対して辞書コーディングを適用します。辞書エンコードされたデータを操作すると、多くのアプリケーションにおけるSELECTクエリのパフォーマンスが大幅に向上します。

LowCardinalityデータ型の使用効率はデータの多様性に依存します。辞書に10,000未満の異なる値が含まれている場合、ClickHouseは主にデータの読み取りと保存において高い効率を示します。辞書に100,000を超える異なる値が含まれている場合、ClickHouseは通常のデータタイプを使用する場合と比較してパフォーマンスが悪化する可能性があります。

文字列を扱う際には、Enumの代わりにLowCardinalityの使用を検討してください。LowCardinalityは使用においてより柔軟性を提供し、しばしば同じかそれ以上の効率を発揮します。

Example

LowCardinalityカラムを持つテーブルを作成します:

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

設定:

関数: