如何从Java提高数据库更新的性能?

时间:2011-09-19 14:04:48

标签: java sql database

我目前有一个Java线程每隔几秒就更新一次数据库。数据库是MSSQL 2005,Java版本是6.0。

每次大约有800次更新。所以我在biginning中做了setAutoCommit(false),并在800 commit()次来电后致电executeUpdate()。这需要大约500毫秒。

我也尝试过使用批处理模式,而且改进很少。现在大约需要250毫秒。

有什么办法可以改善吗? 250毫秒似乎仍然太慢。

服务器和客户端位于同一数据中心,延迟应该最小。

1 个答案:

答案 0 :(得分:4)

你没有解释你想要做什么,所以很难提出改进建议。

您可能尝试的一件事是重构dbms架构,这样您就可以每隔几秒钟INSERT而不是UPDATE这些行。这应该有所帮助。您可以使用每小时或隔夜DELETE操作来清除旧数据。

另一件事可能是弄清楚如何构建数据,以便处理少于800行。您可以将多个数据项放在一行中。这样可以让您更新更少的行。

不得不说,四分之一秒内800次更新并不是可怕的表现。