LowCardinality(T)
他のデータタイプの内部表現を辞書エンコード形式に変更します。
Syntax
Parameters
data_type
— String, FixedString, Date, DateTime, および Decimal を除く数値。LowCardinality
は一部のデータタイプに対して効率的ではありません。詳細はallow_suspicious_low_cardinality_types設定の説明を参照してください。
Description
LowCardinality
は、データストレージ方法とデータ処理ルールを変更するための高次構造です。ClickHouseはLowCardinality
カラムに対して辞書コーディングを適用します。辞書エンコードされたデータを操作すると、多くのアプリケーションにおけるSELECTクエリのパフォーマンスが大幅に向上します。
LowCardinality
データ型の使用効率はデータの多様性に依存します。辞書に10,000未満の異なる値が含まれている場合、ClickHouseは主にデータの読み取りと保存において高い効率を示します。辞書に100,000を超える異なる値が含まれている場合、ClickHouseは通常のデータタイプを使用する場合と比較してパフォーマンスが悪化する可能性があります。
文字列を扱う際には、Enumの代わりにLowCardinality
の使用を検討してください。LowCardinality
は使用においてより柔軟性を提供し、しばしば同じかそれ以上の効率を発揮します。
Example
LowCardinality
カラムを持つテーブルを作成します:
Related Settings and Functions
設定:
- low_cardinality_max_dictionary_size
- low_cardinality_use_single_dictionary_for_part
- low_cardinality_allow_in_native_format
- allow_suspicious_low_cardinality_types
- output_format_arrow_low_cardinality_as_dictionary
関数: