ClickHouse/docs/ja/cloud/bestpractices/avoidnullablecolumns.md
2024-11-18 11:58:58 +09:00

1.1 KiB

slug sidebar_label title
/ja/cloud/bestpractices/avoid-nullable-columns Nullableカラムを避ける Nullableカラムを避ける

Nullableカラム(例: Nullable(String))はUInt8型の別カラムを作成します。この追加のカラムは、ユーザーがNullableカラムを操作するたびに処理される必要があります。これにより、追加のストレージスペースが必要になり、ほとんどの場合、パフォーマンスに悪影響を及ぼします。

Nullableカラムを避けるには、そのカラムにデフォルト値を設定することを検討してください。例えば、以下のようにする代わりに:

CREATE TABLE default.sample
(
    `x` Int8,
    # highlight-next-line
    `y` Nullable(Int8)
)
ENGINE = MergeTree
ORDER BY x

次のように使用します

CREATE TABLE default.sample2
(
    `x` Int8,
    # highlight-next-line
    `y` Int8 DEFAULT 0
)
ENGINE = MergeTree
ORDER BY x

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