StarRocks数据导入慢问题解决

一、问题描述

  依据StarRocks官网快速开始安装教程,用docker compose安装了starrocks,log模块从rabbitMq的队列批量获取log消息,发现队列消息有堆积,一晚上下来大概能对接4000条消息。经单元测试发现insert into到starrocks中时间竟然相差几百倍。

mysql每条insert sql执行3.5ms

starrocks每条insert sql执行672ms

二、问题分析

  因是初次安装使用starrocks,对starrocks并不熟悉,但网络等各方面都正常情况下持续存在一条sql执行时间达到672ms肯定是有问题。因无报错,一时无法下手,刚开始怀疑是docker部署单机版的starrocks安装或配置有问题。docker重新部署以及按这个方向查有关资料都无果。后有幸得到此篇文章的参考学习:https://blog.csdn.net/ult_me/article/details/122823687。高频的insert into语句极大会给starrocks造成极大的压力。且单元测试的打印日志来看mybaitsPlus的批量插入saveBatch也是单条插入。那我们就按参考的文章所推荐的,用一个inser into插入多笔数据的语句。

starrocks insert into总结

三、解决办法

1)数据库连接增加参数:rewriteBatchedStatements=true

  增加次参数mabaitsPlus可saveBatch可一个insert into执行多条

2)xml映射文件拼接

 总结:两种方式时间在starrocks执行insert时间基本和在mysql上批量执行执行差不多,第二种效率更高

 

posted @ 2024-07-05 18:54  不变的变  阅读(25)  评论(0编辑  收藏  举报