目前我的吞吐量约为350MB /小时,而且不是很多。瓶颈是插入 Sybase 数据库,因此我正在寻找提高吞吐量的方法。
我只能使用免费的JDBC驱动程序 - 其中没有一个支持驱动程序级批量插入(据我所知)。
目前我将autoCommit
设置为false(因此是事务性的)。准备语句,添加到批处理,然后每2000条记录执行批处理(我已经玩了这个号码,但它没有帮助)。然后提交事务所有插入都已执行。
目前正在使用JTDS驱动程序。
因此,我正在诉诸任何人都必须增加吞吐量的任何黑客,技巧和窍门。
其他详情:
INSERT INTO table([col],[col1],[col2],[col3]) VALUES (?,?,?,?)
答案 0 :(得分:0)
我也遇到了性能问题。 我开始知道使用JDBC的多个查询会导致应用程序和数据库服务器上的大量网络开销。此外,由于网络往返,它会导致延迟。
请考虑以下内容。它可能有所帮助:
答案 1 :(得分:0)
在文件中写入记录并通过bcp实用程序插入。它会比你目前正在做的快得多。