2023-12-20 clickhouse数据final关键字失效问题

背景

  clickhouse数据库有registration_record表记录门急诊信息,visit_id与org_code为合并主键。每日会有增量数据入库,会有主键重复的情况出现,所以查询时增加final关键字。

问题描述

  使用 select count(visit_id) from registration_record final 查询clickhouse数据库,计算门急诊人次指标。 指标值比select count(distinct visit_id) from registration 查询的值大。fianl关键字失效了。

原因调查

  final关键字失效了,通过调查指标计算时各个进行的业务,推测可能是因为查询的同时有业务数据插入造成了final失效。查了一下“文心一言”得出final的失效场景如下:

  1.数据分布不均匀:如果数据在ClickHouse集群中的分布不均匀,导致某些节点上的数据量远大于其他节点,那么在执行包含final关键字的查询时,可能会因为某些节点上的数据还没有准备好而导致查询结果不准确。
  2.并发查询过多:如果同时执行大量并发查询,而每个查询都包含final关键字,那么ClickHouse服务器可能会因为处理不过来而无法保证每个查询的结果都是最终的。
  3.数据更新频繁:如果数据更新非常频繁,导致数据在查询执行期间不断变化,那么使用final关键字可能会得到不一致的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值