Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在一个SQL查询中使用多个语句,还是使用批处理?_Java_Sql_Sql Server_Batch File - Fatal编程技术网

Java 在一个SQL查询中使用多个语句,还是使用批处理?

Java 在一个SQL查询中使用多个语句,还是使用批处理?,java,sql,sql-server,batch-file,Java,Sql,Sql Server,Batch File,我正在从Java程序向数据库发送一长串更新。我想知道两辆车之间是否有速度差 将所有更新放在一个查询中并执行该查询 制作preparedStatement,将每个更新添加到批处理并执行批处理 使用PreparedStatement和批处理将是首选方法。它减少了客户端和数据库服务器之间的网络流量。是的! 它将减少应用程序和服务器之间的通信量 我知道你提到了java,但作为一个例子,这是我正在阅读的一本C#书中的一个提示: NOTE FREE PERFORMANCE UPGRADE! Setting

我正在从Java程序向数据库发送一长串更新。我想知道两辆车之间是否有速度差

  • 将所有更新放在一个查询中并执行该查询
  • 制作preparedStatement,将每个更新添加到批处理并执行批处理

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

是的! 它将减少应用程序和服务器之间的通信量

我知道你提到了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)

哪种关系数据库管理系统?如果是甲骨文,你可以使用批量收集,以更快、更友好的方式完成。我不会逐一发送更新。我想知道将所有更新放在一个字符串中(用a;)是否会更快即使在一次调用中发送所有语句,批处理PreparedStatement在两个方面提高了性能-1。语句的SQL只发送到数据库服务器一次。这样可以节省网络流量2。准备好的语句句柄将在数据库服务器上重用。因此,处理SQL的成本节省了。无论哪种方式,我只向服务器发送一次数据。因此,我不理解这个问题,您可以发布您正在思考的实际查询吗?