一个SQL查询中有多个语句,还是使用Batch?

时间:2012-01-30 14:05:27

标签: java sql sql-server batch-file

我正在从Java程序向数据库发送一长串更新。我想知道

之间是否存在速度差异
  • 将所有更新放在一个查询中并执行
  • 制作preparedStatement,将每个更新添加到批处理并执行批处理

2 个答案:

答案 0 :(得分:2)

使用PreparedStatement和批处理是首选方法。它减少了客户端和数据库服务器之间的网络流量。

答案 1 :(得分:0)

是的,确实如此! 它将减少应用程序和服务器之间的流量。

我知道你提到了java但是作为一个例子,这是一本来自C#书的提示我正在阅读:

NOTE FREE PERFORMANCE UPGRADE!
Setting UpdateBatchSize to 0 is a quick way to boost the update performance of the
DbDataAdapter object. (Setting the value to 0 instructs the DbDataAdapter object to create the largest possible batch size for changes)