gpt4 book ai didi

encoding - ClickHouse:在用作 bool 值的 Uint8 上使用 LowCardinality 字段是否有意义?

转载 作者:行者123 更新时间:2023-12-04 00:18:39 25 4
gpt4 key购买 nike

LowCardinality ClickHouse 中的字段是一种优化,其中值是字典编码的,以实现更快的查找和更小的存储。根据 documentation :

The efficiency of using LowCarditality data type depends on data diversity. If a dictionary contains less than 10,000 distinct values, then ClickHouse mostly shows higher efficiency of data reading and storing. If a dictionary contains more than 100,000 distinct values, then ClickHouse can perform worse in comparison with using ordinary data types.



用作 bool 值的 UInt8 值怎么样?基数是 2,但占用空间如此之小 (8),它实际上会在查询中提供使用它的好处吗?

最佳答案

LowCardinality 主要用于 String 类型。

LowCardinality(UInt8) 总是比 UInt8 差。

在极少数情况下,LowCardinality 对数字类型有意义。但我什至不会测试它,因为它浪费时间。
指向 LC 字典的指针在 .bin 文件中采用 (Int8-Int32),因此在 .bin 文件中存储数值本身在磁盘空间和 CPU 上更便宜。

关于encoding - ClickHouse:在用作 bool 值的 Uint8 上使用 LowCardinality 字段是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62327940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com