メインコンテンツへスキップ
メインコンテンツへスキップ

LowCardinality(T)

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

構文

LowCardinality(data_type)

パラメータ

説明

LowCardinality は、データの格納方式とデータ処理規則を変更するための上位構造です。ClickHouse は LowCardinality 列に対して dictionary coding を適用します。辞書エンコードされたデータを扱うことで、多くのアプリケーションにおいて SELECT クエリのパフォーマンスが大幅に向上します。

LowCardinality データ型の有効性は、データの多様性に依存します。辞書に含まれる異なる値が 10,000 未満である場合、ClickHouse は一般的にデータの読み取りおよび保存の効率が高くなります。辞書に 100,000 を超える異なる値が含まれている場合、通常のデータ型を使用した場合と比較して、ClickHouse のパフォーマンスが低下することがあります。

文字列を扱う際は、Enum の代わりに LowCardinality の使用を検討してください。LowCardinality は利用時の柔軟性が高く、多くの場合、同等またはそれ以上の効率を発揮します。

LowCardinality 列を持つテーブルを作成します。

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

設定:

関数: