gpt4 book ai didi

clickhouse - 'distinct' 是 ClickHouse 的普通操作吗?

转载 作者:行者123 更新时间:2023-12-04 12:17:34 24 4
gpt4 key购买 nike

我想使用 ClickHouse 进行营销。大多数时候,他们不仅想知道有多少人使用某些功能,还想知道发送垃圾邮件的确切电子邮件。
将 ClickHouse 用于此类目的是否是一个不错的选择(从表中选择 DISTINCT 电子邮件...)? “select COUNT”和“select DISTINCT”之间的性能有什么区别?

最佳答案

Is that a good choice to use ClickHouse for such purpose



是的,ClickHouse 有不错的 HashTable 和 Aggregator 实现。它大量使用模板化代码进行静态类型分派(dispatch),并应用了大量内存技巧。它以紧凑的形式存储数据。

我假设您想比较 select countselect count(distinct)select distinct是一种不同的野兽。 ClickHouse 转换 count(distinct)进入聚合器 uniqExact这比 count(*) 慢了大约 8 倍,但仍然比像 Postgres 这样的传统数据库快得多。还有近似聚合器 uniq , uniqCombineduniqHLL12用于更快的估计,比 count(*) 慢约 1.5 倍.见 https://clickhouse.yandex/docs/en/query_language/agg_functions/reference/如果您需要更多信息。

如果您的目标是 select distinct , ClickHouse 还是可以的,它使用了 Set用于统一数据流的数据结构( Set 也用于构建其 SQL in (...) 构造)。不测量数据输出过程,仅比普通的慢 1.3 倍 count(*) .

关于clickhouse - 'distinct' 是 ClickHouse 的普通操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53051939/

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