kettle 插入/更新 速度太慢
我现在有这么一个问题,不知道是否正常!
我们的项目想在用的java,通过spring的定时器,每隔一段时间调用一次.bat文件,执行一次kettle!
然后kettle从实时数据库把那个时间段的数据插入到oracle里面!
现在每次抽取170条左右的数据就需要8分钟,平均0.4条每秒。时间太慢了,请问有什么办法加快每秒插入数据的速度吗!
看到后请尽快回复,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
先诊断是当前是慢在哪个阶段,是读慢还是写慢
如果是读慢,把读的语句放在源库执行一下,是否没有索引或其他问题,对语句先进行优化
如果是写慢,只是插入的就要检查数据库当时IO等,如果是用插入更新,就要看更新条件是否有创建索引了
先诊断是当前是慢在哪个阶段,抽取数据还是写入数据时慢?
如果抽取慢:看DB端查询本身的性能如何
如果写入慢:看DB端SQL执行效率是否有异常,另外加大Kettle作业的并行会有一定提升
批量操作?
插入更新节点里用来查询的字段2个数据类型要保持一致,如果一个是数值型一个字符串型就会奇慢
我是通过表输出到一个临时表,然后通过SQL处理的,快多了,你应该是用的自带的那个插入更新吧,那个不行
打开连接池,优化sql,建索引