1

目前我的吞吐量约为 350MB/小时,这并不多。瓶颈是插入Sybase数据库,所以我正在寻找增加吞吐量的方法。

我只能使用免费的 JDBC 驱动程序——它们都不支持驱动程序级别的批量插入(据我所知)。

目前我已autoCommit设置为 false(事务性也是如此)。准备语句,添加到批处理中,然后每 2000 条记录执行一次批处理(我玩过这个数字,但没有帮助)。然后提交事务所有插入都已执行。

当前使用 JTDS 驱动程序。

所以我求助于任何人必须增加吞吐量的任何技巧、技巧和窍门。

额外细节:

  • 桌子上没有触发器。
  • 唯一的约束是由 3 个字段组成的公钥。(带索引)
  • 该声明是字面上的INSERT INTO table([col],[col1],[col2],[col3]) VALUES (?,?,?,?)
4

2 回答 2

0

我也遇到了性能问题。我开始知道使用 JDBC 的多个查询会导致应用程序和数据库服务器上的大量网络开销。由于网络往返,它也会导致延迟。

请考虑以下。它可能会有所帮助:

多查询 VS 存储过程

于 2013-07-30T11:10:01.643 回答
0

在文件中写入 redcords 并通过 bcp 实用程序插入。它会比你现在正在做的要快得多。

于 2013-07-30T12:33:29.250 回答