我正在为一个包含字符串字段的Clickhouse大表设计架构,这些字段可能相当稀疏。
我想知道这些字段应该是可空的还是应该将空字符串""
作为默认值存储。从存储方面考虑哪种更好?
我正在为一个包含字符串字段的Clickhouse大表设计架构,这些字段可能相当稀疏。
我想知道这些字段应该是可空的还是应该将空字符串""
作为默认值存储。从存储方面考虑哪种更好?
您应该存储一个空字符串 ""
可为 null 的列需要更多的磁盘空间,查询速度也会减慢多达两倍。这是出于设计考虑而预期的行为。
插入操作也会变慢,因为可为 null 的列会存储在 4 个文件中,而非可为 null 的列只会在每个列中存储 2 个文件。
https://gist.github.com/den-crane/e43f8d0ad6f67ab9ffd09ea3e63d98aa