Java 在一个SQL查询中使用多个语句,还是使用批处理?
我正在从Java程序向数据库发送一长串更新。我想知道两辆车之间是否有速度差Java 在一个SQL查询中使用多个语句,还是使用批处理?,java,sql,sql-server,batch-file,Java,Sql,Sql Server,Batch File,我正在从Java程序向数据库发送一长串更新。我想知道两辆车之间是否有速度差 将所有更新放在一个查询中并执行该查询 制作preparedStatement,将每个更新添加到批处理并执行批处理 使用PreparedStatement和批处理将是首选方法。它减少了客户端和数据库服务器之间的网络流量。是的! 它将减少应用程序和服务器之间的通信量 我知道你提到了java,但作为一个例子,这是我正在阅读的一本C#书中的一个提示: NOTE FREE PERFORMANCE UPGRADE! Setting
- 将所有更新放在一个查询中并执行该查询
- 制作preparedStatement,将每个更新添加到批处理并执行批处理
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的成本节省了。无论哪种方式,我只向服务器发送一次数据。因此,我不理解这个问题,您可以发布您正在思考的实际查询吗?