zoukankan      html  css  js  c++  java
  • ClickHouse笔记

    执行计划

    explain syntax 执行计划-返回优化后的语法

    分析语法

    group by 后面可以跟with xxx 进行分析,比如上卷,多维分析,聚合

    ClickHouse 自带的优化器

    谓词下推:

    就是将能提前筛选的条件,提前执行筛选,让匹配的结果集尽量小。

    比如having后的条件可以挪到where中执行,where的条件可以挪到子查询中的where中执行等等。

    聚合计算外推:

    聚合函数中的计算语句会优化到聚合函数外面执行,比如sum(price * 3) 会优化成 sum(price) * 3

    聚合函数消除:

    group by 的字段,如果使用了max min等函数,会被优化器自动消除,因为没有意义。

    手动合并分区

    optimize table dc_salesflow final

    ClickHouse SQL注意事项

    1、distinct 底层用的 uniqExact

    2、用IN代替join

    3、如果两张表都很大,用inner join 代替 left right

    4、两张分布式表,in join前要加globa关键词,这样右表只会在接受SQL的节点查询一次,然后将结果分发到其他节点上。如果不加,会在每个节点都发起一次对右表的关联查询,而右表又是分布式的,会导致查询右表被查询N的平方次N是分片数量,导致查询放大。

    同步库数据,支持想MySql一样的 Select inster语法

    insert into 库1.表1 select * FROM 库2.表2 limit 1000;
    insert into so_test.dc_salesflow_st_const_all select * FROM default.dc_salesflow_st_const_all limit 1000;
    

    删除表 - 操作集群下所有表

    DROP table so_test.dc_salesflow_st_const_all ON CLUSTER sys_ck_cluster;
    DROP table so_test.dc_salesflow_st_const ON CLUSTER sys_ck_cluster;
    

    操作所有集群

    ON CLUSTER sys_ck_cluster // sys_ck_cluster 是集群的名字
    

    在所有集群内创建表

    CREATE TABLE so_test.test_table_name ON CLUSTER sys_ck_cluster
    (
        `id` Int64 COMMENT '系统自动生成id标识',
        ......................................
    )
    ENGINE = ReplacingMergeTree(sign)
    PARTITION BY toYYYYMM(create_date)
    PRIMARY KEY create_date
    ORDER BY (create_date)
    SETTINGS index_granularity = 8192
    

    在所有集群内创建视图

    CREATE TABLE so_test.test_table_name_all ON CLUSTER sys_ck_cluster
    (
        `id` Int64 COMMENT '系统自动生成id标识',
        .....................................
    )
    ENGINE = Distributed('sys_ck_cluster',
     'so_test',
     'test_table_name',
     sipHash64(flow_id))
    
  • 相关阅读:
    wpf ,tooltip的style
    WPF ,listbox,平滑滚动的2种方式。
    wpf ListBox,item两列不等高。
    wpf 背景镂空loading.....
    wpf treeView,避免横向滚动条自动偏移。 ContentHorizontalOffset
    wpf 时间控件加今天 按钮
    RFID相关知识总结(超高频UHF)
    WebSockets客户端示例
    WPF和WinForm的区别, 数据驱动与事件驱动的优势对比
    Unity容器实现自动注册
  • 原文地址:https://www.cnblogs.com/inkyi/p/15691706.html
Copyright © 2011-2022 走看看