我现在有这么一个问题,不知道是否正常!
我们的项目想在用的java,通过spring的定时器,每隔一段时间调用一次.bat文件,执行一次kettle!
然后kettle从实时数据库把那个时间段的数据插入到oracle里面!
现在每次抽取170条左右的数据就需要8分钟,平均0.4条每秒。时间太慢了,请问有什么办法加快每秒插入数据的速度吗!
看到后请尽快回复,谢谢!
我现在有这么一个问题,不知道是否正常!
我们的项目想在用的java,通过spring的定时器,每隔一段时间调用一次.bat文件,执行一次kettle!
然后kettle从实时数据库把那个时间段的数据插入到oracle里面!
现在每次抽取170条左右的数据就需要8分钟,平均0.4条每秒。时间太慢了,请问有什么办法加快每秒插入数据的速度吗!
看到后请尽快回复,谢谢!
先诊断是当前是慢在哪个阶段,抽取数据还是写入数据时慢?
如果抽取慢:看DB端查询本身的性能如何
如果写入慢:看DB端SQL执行效率是否有异常,另外加大Kettle作业的并行会有一定提升
先诊断是当前是慢在哪个阶段,是读慢还是写慢
如果是读慢,把读的语句放在源库执行一下,是否没有索引或其他问题,对语句先进行优化
如果是写慢,只是插入的就要检查数据库当时IO等,如果是用插入更新,就要看更新条件是否有创建索引了