Clickhouse 字符串字段磁盘使用情况:空与空
Clickhouse string field disk usage: null vs empty
我正在为大型 Clickhouse table 设计一个架构,其中的字符串字段可能非常稀疏。
我想知道这些字段是否应该可以为空,或者我是否应该存储一个空字符串 ""
作为默认值。在存储方面哪个更好?
你应该存储一个空字符串 ""
可为空的列占用更多磁盘空间 space 并使查询速度减慢两倍。
这是设计的预期行为。
插入速度也变慢了,因为 Nullable 列存储在 4 个文件中,但非 Nullable 列仅存储在每列的 2 个文件中。
https://gist.github.com/den-crane/e43f8d0ad6f67ab9ffd09ea3e63d98aa
我正在为大型 Clickhouse table 设计一个架构,其中的字符串字段可能非常稀疏。
我想知道这些字段是否应该可以为空,或者我是否应该存储一个空字符串 ""
作为默认值。在存储方面哪个更好?
你应该存储一个空字符串 ""
可为空的列占用更多磁盘空间 space 并使查询速度减慢两倍。 这是设计的预期行为。
插入速度也变慢了,因为 Nullable 列存储在 4 个文件中,但非 Nullable 列仅存储在每列的 2 个文件中。
https://gist.github.com/den-crane/e43f8d0ad6f67ab9ffd09ea3e63d98aa