在Statement和ResultSet上设置获取大小有什么区别?Oracle文档说,如果在语句上设置了提取大小,那么ResultSet也会使用相同的大小,只要在获取结果集之前设置了提取尺寸即可。如果我把它设置在语句或结果集上,会有什么不同?我使用的是Oracle数据库。以下是Oracle关于它的文档:
获取大小
默认情况下,当OracleJDBC运行查询时,它会从数据库游标中一次检索10行的结果集。这是默认的Oracle行获取大小值。您可以通过更改行获取大小值来更改每次访问数据库游标时检索的行数。
标准JDBC还允许您为查询指定每次数据库往返获取的行数,这个数字被称为获取大小。在OracleJDBC中,行预取值用作语句对象中的默认获取大小。设置获取大小将覆盖行预取设置,并影响通过该语句对象运行的后续查询。
获取大小也用于结果集中。当语句对象运行查询时,语句对象的获取大小将传递给查询生成的结果集对象。但是,您也可以在结果集对象中设置fetch大小,以覆盖传递给它的语句fetch大小
获取大小真正重要的唯一地方是ResultSet
。创建ResultSet
时,它会从用于创建它的Statement
获取获取获取大小,但以后可以更改。
将Statement
的获取大小视为默认值,它将传递给它创建的所有ResultSet
。如果你不想使用这个默认值,你可以覆盖它
没有区别。如果在语句上设置获取大小,则它将应用于来自该语句的所有ResultSet实例。