当我修改用于使用Java进行MySQL检索的批处理更新的代码时,我对此表示怀疑。
我的理解是,访存大小是ResultSet对象中的最大行数,而Batch Limit是可以添加到批处理中以执行批处理的选择/插入/更新查询的数量。如果我在这里错了,谁能纠正我。

谢谢。

最佳答案

你几乎是正确的。但是要添加到它javadoc of Statement#setFetchSize()


  向JDBC驱动程序提示应包含的行数
  从数据库中获取


而批处理限制与您可以插入或更新与max_allowed_packet相关的内容的行数有关

附带说明:

您也可以阅读JDBC API implementation notes作为一本好书


  结果集
  
  默认情况下,完全检索结果集并将其存储在内存中。
  在大多数情况下,这是最有效的操作方式,并且由于
  MySQL网络协议的设计更易于实现。如果
  您正在使用具有大量行的ResultSet或
  较大的值,并且无法在JVM中为
  需要内存,您可以告诉驱动程序将结果流回
  一次一行。

07-24 09:37
查看更多