xma*_*mar 3 encoding cardinality clickhouse
LowCardinalityClickHouse 中的字段是一种优化,其中值是字典编码的,以实现更快的查找和更小的存储。根据文档:
使用 LowCarditality 数据类型的效率取决于数据的多样性。如果字典包含的不同值少于 10,000 个,则 ClickHouse 大多显示出更高的数据读取和存储效率。如果字典包含超过 100,000 个不同的值,则与使用普通数据类型相比,ClickHouse 的性能可能更差。
用作布尔值的 UInt8 值怎么样?基数是 2,但占用空间如此之小 (8),它实际上会在查询中提供使用它的好处吗?
LowCardinality 主要用于 String 类型。
LowCardinality(UInt8) 总是比 UInt8 差。
在极少数情况下,LowCardinality 对数字类型有意义。但我什至不会测试它,因为它浪费时间。指向 LC 字典的指针在 .bin 文件中采用 (Int8-Int32),因此在 .bin 文件中存储数值本身在磁盘空间和 CPU 上更便宜。
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |