繁体   English   中英

jdbc executeBatch与大查询执行

[英]jdbc executeBatch vs. execute with big query

我需要非常快速地更新/插入大量条目。 我看到2个选项

  • 创建许多查询并通过executeBatch发送它们
  • 创建一个大查询(包含所有特定于db的语法的更新/插入)并执行它。 由于更新的数量是固定的(“批量”),因此我也可以准备此语句

目标数据库是oracle。 批处理中的插入/更新次数是1000到10000之间的固定数字(此数字会对性能产生影响吗?)

那要走什么路呢?

您的选择基本上是相同的。 实际上,它们可能是相同的,除非您的第二种选择实施得不好。

使用内置的PreparedStatement批处理更为安全,因为驱动程序将比您更了解做什么。 程序员出错的机会更少,而且如果您更改数据库提供程序的情况发生过,则无需再次检查解决方案是否仍然有效。

确保检查出如何正确执行批处理。 例如,批量大小通常为100而不是您希望插入的全部行数(因此,您将有10个executeBatch() es来插入您的1000行)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM