Clickhouse 字符串字段磁盘使用情况:空 vs 空

jef*_*eon 7 clickhouse

我正在为带有非常稀疏的字符串字段的大型 Clickhouse 表设计架构。

我想知道这些字段是否应该可以为空,或者我是否应该存储一个空字符串""作为默认值。在存储方面哪个更好?

Den*_*ane 13

您应该存储一个空字符串“”

Nullable 列占用更多磁盘空间并降低查询速度达两倍。这是设计的预期行为。

插入也变慢了,因为 Nullable 列存储在 4 个文件中,但非 Nullable 每列仅存储在 2 个文件中。

https://gist.github.com/den-crane/e43f8d0ad6f67ab9ffd09ea3e63d98aa