Nullable カラム (例: Nullable(String)) は、別途 UInt8 型のカラムを作成します。ユーザーが Nullable カラムを扱うたびに、この追加カラムも毎回処理する必要があります。その結果、追加のストレージ容量が必要になり、ほとんどの場合はパフォーマンスに悪影響を及ぼします。
Nullable カラムを避けるには、そのカラムにデフォルト値を設定することを検討してください。たとえば、次のようにする代わりに:
CREATE TABLE default.sample
(
`x` Int8,
`y` Nullable(Int8)
)
ENGINE = MergeTree
ORDER BY x使用する
CREATE TABLE default.sample2
(
`x` Int8,
`y` Int8 DEFAULT 0
)
ENGINE = MergeTree
ORDER BY xユースケースに応じては、デフォルト値が適切でない場合があります。