java – 在Statement与ResultSet上设置提取大小之间的区别

在Statement与ResultSet上设置提取大小有什么区别? Oracle文档说如果在Statement上设置了获取大小,那么ResultSet也会使用相同的大小,只要在获取结果集之前设置了获取大小.如果我在Statement或ResultSet上设置它会有什么不同?我正在使用Oracle数据库.以下是有关它的Oracle文档:

Fetch Size

By default,when Oracle JDBC runs a query,it retrieves a result set of 10 rows at a time from the database cursor. This is the default Oracle row fetch size value. You can change the number of rows retrieved with each trip to the database cursor by changing the row fetch size value.

Standard JDBC also enables you to specify the number of rows fetched with each database round-trip for a query,and this number is referred to as the fetch size. In Oracle JDBC,the row-prefetch value is used as the default fetch size in a statement object. Setting the fetch size overrides the row-prefetch setting and affects subsequent queries run through that statement object.

Fetch size is also used in a result set. When the statement object run a query,the fetch size of the statement object is passed to the result set object produced by the query. However,you can also set the fetch size in the result set object to override the statement fetch size that was passed to it.

解决方法

获取大小真正重要的唯一位置是ResultSet.创建ResultSet时,它会从用于创建它的Statement获取获取大小,但可以在以后更改.

将Statement的提取大小视为认值,将其传递给它创建的所有ResultSet.如果您不想使用此认值,则可以覆盖它.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...