美文网首页
clickhouse+bitmap中SQL优化经验

clickhouse+bitmap中SQL优化经验

作者: 和平菌 | 来源:发表于2022-08-27 16:33 被阅读0次

1、子查询
SELECT bitmapAndCardinality(groupBitmapOrStateOrDefault(bitmap)) FROM test.group_bitmap WHERE code = '001' AND version = '001'

目的是查出符合条件的bitmap然后计算其容量,但实际执行过程中发现会扫描全表的bitmap,耗时相当高

优化后:
SELECT bitmapAndCardinality(groupBitmapOrStateOrDefault(bitmap)) FROM (
SELECT bitmap FROM test.group_bitmap WHERE code = '001' AND version = '001' LIMIT 1
)
原先40秒的查询变成了3秒,效果显著;

2、PREWHERE
如果是MergeTree引擎,用PREWHERE代替WHERE来查询,PREWHERE首先会读取指定的列数据,来判断数据过滤,等待数据过滤之后再读取SELECT的列字段来补全其余属性。

3、groupArrayDistinct
优化前:
SELECT bitmapBuild(groupArray(offset)) AS bitmap FROM ...

优化后:
SELECT bitmapBuild(groupArrayDistinct(offset)) 性能提高非常显著
如果重复性数据越多效果应该会越好

相关文章

  • clickhouse+bitmap中SQL优化经验

    1、子查询SELECT bitmapAndCardinality(groupBitmapOrStateOrDefa...

  • SQL优化经验

    字段属性长度合适(不要太长)类型合理(看谁更符合实际)3.尽量设置not null(查询的时候少比较些) 合理使用...

  • 常用sql优化2019-09-27

    sql优化 sql优化.................................................

  • SQL优化经验积累

    1.条件字段选择性弱时不走索引原因: mysql在条件字段选择性弱,查出的结果集较大,不走索引;比如,一张表内有1...

  • MySQL 优化实战 - 索引篇

    关于SQL优化,这个问题,相信大家过多过少都有过一些了解。最近我也在研究SQL优化方面的东西,分享一些经验。 首先...

  • mysql数据库优化

    1. Mysql优化介绍 1.1 sql优化 a. sql优化分析b. 索引优化c. 常用sql优化d. 常用优化...

  • SparkSQL优化器Catalyst

    SQL优化器执行策略:规则优化和代价优化规则优化是经验式,需要对数据元数据信息充分了解,主要体现在Join;代价优...

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • SQLServer性能分析及优化

    公司使用SQLServer作为数据库,工作中积累了很多SQL性能优化经验,为了自己查询和记忆方便,我的分类方式主要...

  • Mysql索引

    提起优化 SQL,可能会把它理解为优化索引。简单来说这也不算错,索引在 SQL 优化中占了很大的比重。索引用得好,...

网友评论

      本文标题:clickhouse+bitmap中SQL优化经验

      本文链接:https://www.haomeiwen.com/subject/uoufnrtx.html