当前位置: 首页 > news >正文

网站建设沛宣开发网站建设

网站建设沛宣,开发网站建设,做的网站怎么提交到百度上去,客户关系管理论文3000字假设有这样⼀种查询需求:终端⽤户只需要查询数据的汇总结果,不关⼼明细数据,并且数据的汇总条件是预先明确的(GROUP BY 条件明确,且不会随意改变)。 对于这样的查询场景,在ClickHouse中如何解决…

假设有这样⼀种查询需求:终端⽤户只需要查询数据的汇总结果,不关⼼明细数据,并且数据的汇总条件是预先明确的(GROUP BY 条件明确,且不会随意改变)。

对于这样的查询场景,在ClickHouse中如何解决呢?最直接的⽅ 案就是使⽤MergeTree存储数据,然后通过GROUP BY聚合查询,并利⽤ SUM聚合函数汇总结果。这种⽅案存在两个问题。

1. 存在额外的存储开销:终端⽤户不会查询任何明细数据,只关⼼汇总结果,所以不应该⼀直保存所有的明细数据。

2. 存在额外的查询开销:终端⽤户只关⼼汇总结果,虽然 MergeTree性能强⼤,但是每次查询都进⾏实时聚合计算也是⼀种性能消耗。SummingMergeTree就是为了应对这类查询场景⽽⽣的。顾名思义,它能够在合并分区的时候按照预先定义的条件聚合汇总数据,将同⼀分组下的多⾏数据汇总合并成⼀⾏,这样既减少了数据⾏,⼜降低了后续汇总查询的开销。


1、未指定求和的字段 

drop table if exists summing_table;
CREATE TABLE summing_table
(id    String,city  String,sal   UInt32,comm  Float64,ctime DateTime
) ENGINE = SummingMergeTree()PARTITION BY toDate(ctime)ORDER BY (id, city)PRIMARY KEY id;
-- 在合并的时候 ,分区内, 相同排序的⾏数据的所有的数值字段都会求和(sum)
-- 插⼊数据
insert into summing_table
values
(1,'shanghai',10,20,'2021-06-12 01:11:12'),
(1,'shanghai',20,30,'2021-06-12 01:11:12'),
(3,'shanghai',10,20,'2021-11-12 01:11:12'),
(3,'Beijing',10,20,'2021-11-12 01:11:12') ;
optimize table summing_table ;select * from summing_table


2、指定求和的字段

上⾯的例⼦中没有指定sum的字段 ,那么表中符合要求的所有的数值字段都会进⾏求和 ,我们可以在建表的时候指定求和的字段。

drop table if exists summing_table2 ;
CREATE TABLE summing_table2(
id String,
city String,
money UInt32,
num UInt32,
ctime DateTime
)ENGINE = SummingMergeTree(money)
PARTITION BY toDate(ctime)
ORDER BY city ;
--每个城市每天的销售总额
insert into summing_table2 values(1,'BJ',100,11,now()),
(2,'BJ',100,11,now()),
(3,'BJ',100,11,now()),
(4,'NJ',100,11,now()),
(5,'NJ',100,11,now()),
(6,'SH',100,11,now()),
(7,'BJ',100,11,'2021-05-18 11:11:11'),
(8,'BJ',100,11,'2021-05-18 11:11:11') ;SELECT * FROM summing_table2 ;

总结:

(1)⽤ORBER BY排序键作为聚合数据的条件Key。

(2)只有在合并分区的时候才会触发汇总的逻辑。

(3)以数据分区为单位来聚合数据。当分区合并时,同⼀数据分区内聚合Key相同的数据会被合并汇总,⽽不同分区之间的数据则不会被汇总。

(4)如果在定义引擎时指定了columns汇总列(⾮主键的数值类 型字段),则SUM汇总这些列字段;如果未指定,则聚合所有⾮主键的数值类型字段。

(5)在进⾏数据汇总时,因为分区内的数据已经基于ORBER BY排序,所以能够找到相邻且拥有相同聚合Key的数据。

(6)在汇总数据时,同⼀分区内,相同聚合Key的多⾏数据会合并成⼀⾏。其中,汇总字段会进⾏SUM计算;对于那些⾮汇总字段,则会使⽤第⼀⾏数据的取值。

(7)⽀持嵌套结构,但列字段名称必须以Map后缀结尾。嵌套类 型中,默认以第⼀个字段作为聚合Key。除第⼀个字段以外,任何名称 以Key、Id或Type为后缀结尾的字段,都将和第⼀个字段⼀起组成复合 Key。

http://www.shuangfujiaoyu.com/news/29073.html

相关文章:

  • wam和wordpressseo外链优化培训
  • 企业服饰网站模板百度一下你就知道下载
  • 长沙网站制作电话注册一个网站
  • css如何让网站首字放大优化防疫政策
  • 哪个网站开发培训好营销网站方案设计
  • 工信部 网站备案怎么样进行网络推广
  • 上海网站备案注销网站seo优化培训
  • 哈尔滨 网站建设公司品牌策划方案案例
  • 个人网站可以做论坛吗百度邮箱登录入口
  • 淘宝上做网站行吗百度怎么优化网站排名
  • 域名停靠app免费下载网站seo报价单
  • 银川市建设工程质量监督站网站石家庄关键词优化平台
  • 公司网站建设7个基本流程北京百度seo服务
  • table布局网站流量神器
  • 成都开发公司免费seo公司
  • 微信做自己的网站兰州搜索引擎优化
  • 达州做网站的公司企业网络营销
  • 淘宝推广网站建设亚马逊查关键词搜索量的工具
  • 提供网站建设商家想要推广网页
  • 建设部网站资质标准攀枝花seo
  • 政府门户网站建设思路怎么开设自己的网站
  • 自己做网站系统教程百度手机助手app下载
  • 怎么提高网站关键词排名网址大全2345
  • 如何自己做网站模版线上如何做推广
  • 网络维护专业seo建设者
  • 做的最好自考网站是哪个郑州网站网页设计
  • 品牌网站建设有什么作用个人怎么做推广
  • 设计师个人网站怎么做百度置顶广告多少钱
  • 中国建设银行新闻网站品牌企业seo咨询
  • 网站备案多少钱关键词排名seo优化