Skip to main content
Edit this page

Nullableカラムを避ける

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
Note

ユースケースを考慮し、デフォルト値が不適切である可能性もあります。