返回信息流这是什么黑科技??
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #98094同步于 2019/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
一百亿记录的平均值计算只要3秒是如何做到的?
ztinpn
2019/7/15镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
这个和 数据集, cpu核数, 有很大关系, 3秒就不用考虑磁盘io了, 该压缩都压缩掉了. 我随便用clickhouse跑百亿avg也能3秒内, 而且没有用基于压缩的算法.
select avg(i) from x;
SELECT avg(i)
FROM x
┌─avg(i)─┐
│ 1 │
└────────┘
1 rows in set. Elapsed: 2.821 sec. Processed 10.00 billion rows, 40.00 GB (3.54 billion rows/s., 14.18 GB/s.)
过了一下tdengine的代码, 有基于块的预计算 https://github.com/taosdata/TDengine/blob/master/src/client/src/tscFunctionImpl.c#L336 , 应该会使用
而且由于没有query pipeline, 算子hardcode, 可以做很多优化, 比如直接在游程编码上算avg. 但这些都可以在clickhouse上实现.
赞,所以感觉“大家”好像都有知识盲点。。
【 在 maweihu (马尾胡) 的大作中提到: 】
: 这个和 数据集, cpu核数, 有很大关系, 3秒就不用考虑磁盘io了, 该压缩都压缩掉了. 我随便用clickhouse跑百亿avg也能3秒内, 而且没有用基于压缩的算法.
: select avg(i) from x;
: ...................