我们正在处理很多我们使用Talend处理的传入事件,然后将它们推送到不同的postgresql数据库(本地和远程heroku数据库)。由于会话选项setAutoCommit(true),我们面临着巨大的性能损失,特别是在heroku数据库上(每个语句/插入都是一个必须提交的新事务)。
不幸的是,由于talend错误,我们不能批量提交以改善性能。由于生成的开销我想改变会话以进行异步提交但是在java.sql.Connection文档中我找不到任何有用的信息如何做。从talend到postgresql,我们使用单个持久连接。
我的问题是:
链接:
答案 0 :(得分:2)
我没有将PostgreSQL与Talend一起使用,但通常插件是分批完成的,而且它只是Talend的默认行为,它会自动提交它们 - 我认为这是你在这里看到的会话选项。
您可以尝试将您的工作设置为使用tPostgreSQLConnection,然后使用tPostgreSQLCommit OnSubjobOk完成它以立即执行提交。单个插入批次的性能无论如何都可能很差,但它应该改进。