【详述】
A表为unique-key模型,B表为primary-key模型,A left join B,将join结果通过insert into的方式写入C表,C表为primary-key模型。数据量为百万级,但是
insert into C select * from A left join B
这个操作,平均执行耗时在10-20秒,
日志返回insert执行结束后,需要等待较长时间(5分钟甚至更长时间)后台完成C表数据的合并(合并完成前,C表的select或者join的结果异常)。
【背景】
把ABC三个表都改成unique-key模型,整个insert into 的执行过程耗时在5-8秒,C表的数据版本合并过程也比上面那个过程快,等待1分钟左右C表就可以正常拿来使用(select或者join的结果正常)。
【业务影响】
【StarRocks版本】2.0.0-GA
【集群规模】3fe+9be (fe与be混部)
【机器信息】16C64G
【附件】
【猜测】
- SQL中如果混模型去使用,会不会降低他本身的性能?
- 使用unique-key模型建表,频繁通过insert into select的方式向这个表写入数据,经常会出现执行完成,但是数据版本合并未完成的情况,导致用这个表去join其他表的时候,部分数据匹配不到。
这个问题除了sleep等待,还有没有其他方式可以解决。(尝试过用select这个表去触发合并操作,但是没啥效果)