MySQL和Java:获取大小和批处理限制之间的差异
当我修改使用Java进行MySQL检索批更新的代码时,我产生了这个疑问。 我的理解是,fetch size是ResultSet对象中的最大行数,Batch Limit是可以添加到批中以供批执行的select/insert/update查询数。如果我错了,有人能纠正我吗MySQL和Java:获取大小和批处理限制之间的差异,java,mysql,Java,Mysql,当我修改使用Java进行MySQL检索批更新的代码时,我产生了这个疑问。 我的理解是,fetch size是ResultSet对象中的最大行数,Batch Limit是可以添加到批中以供批执行的select/insert/update查询数。如果我错了,有人能纠正我吗 谢谢。你几乎是对的。然而,我们必须补充一点 给JDBC驱动程序一个提示,告诉它应该添加的行数 从数据库中获取 而批处理限制则与可以插入或更新的行数有关 旁注: 您也可以将检查作为良好的阅读 结果集 默认情况下,结果集被完全检索并存
谢谢。你几乎是对的。然而,我们必须补充一点 给JDBC驱动程序一个提示,告诉它应该添加的行数 从数据库中获取 而批处理限制则与可以插入或更新的行数有关 旁注: 您也可以将检查作为良好的阅读 结果集 默认情况下,结果集被完全检索并存储在内存中。 在大多数情况下,这是最有效的操作方式,并且由于 MySQL网络协议的设计更易于实现。如果 您使用的结果集包含大量行或行 较大的值,并且无法在JVM中为 如果需要内存,您可以告诉驱动程序将结果流式返回 一次一排
我认为我们可以在Java中使用fetchSize和MySQL表,如本文所述。您能澄清一下吗。@user1930402:-我们确实可以使用它,但这只是按照文件的规定给出一个提示。谢谢。让我试试这个。@user1930402:-不客气。您可以这样使用它:
PreparedStatement stmt=connection.prepareStatement(qry);stmt.setFetchSize(1000);stmt.executeQuery()代码>阅读此链接也有助于我:。请考虑这篇文章[链接]