`
Tonyguxu
  • 浏览: 279993 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC基础-setFetchSize方法

    博客分类:
  • JDBC
阅读更多

Tags:JDBC

 

StatementResultSet接口中都有setFetchSize方法

void setFetchSize(int rows)

                  throws SQLException

查看API文档

Statement接口中是这样解释的:

JDBC 驱动程序提供一个提示,它提示此 Statement 生成的 ResultSet 对象需要更多行时应该从数据库获取的行数。指定的行数仅影响使用此语句创建的结果集合。如果指定的值为 0,则忽略该提示。默认值为 0

ResultSet中是这样解释的:

JDBC 驱动程序设置此 ResultSet 对象需要更多行时应该从数据库获取的行数。如果指定的获取大小为零,则 JDBC 驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。默认值由创建结果集的 Statement 对象设置。获取大小可以在任何时间更改。


网上有下面这样的一段摘录1

缺省时,驱动程序一次从查询里获取所有的结果。这样可能对于大的数据集来说是不方便的, 因此 JDBC 驱动提供了一个用于设置从一个数据库游标抽取若干行的 ResultSet 的方法。在连接的客户端这边缓冲了一小部分数据行,并且在用尽之后, 则通过重定位游标检索下一个数据行块。

摘录2:

setFetchSize最主要是为了减少网络交互次数设计的。访问ResultSet时,如果它每次只从服务器上取一行数据,则会产生大量的开销。setFetchSize的意思是当调用rs.next时,ResultSet会一次性从服务器上取得多少行数据回来,这样在下次rs.next时,它可以直接从内存中获取出数据而不需要网络交互,提高了效率。 这个设置可能会被某些JDBC驱动忽略的,而且设置过大也会造成内存的上升。

 

另外在《Best practices to improve performance in JDBC》一文中也提及该方法的使用用于提高查询效率,有名词将之成为batch retrieval

注:该文在Core Java目录下有收藏

 

分享到:
评论

相关推荐

    JDBC教程

    总结:JDBC是Java开发数据库应用的基础,通过学习JDBC,开发者可以掌握如何在Java程序中执行SQL语句,处理数据库连接和事务,以及进行性能优化和安全实践。JDBC教程PPT将深入讲解这些概念,提供实用示例,帮助你快速...

    JDBC入门基础讲座

    4. 使用Statement的setFetchSize()方法,优化数据检索性能。 JDBC是Java开发者与数据库进行交互的基础,理解和熟练掌握JDBC对于开发数据库相关的Java应用至关重要。通过深入学习和实践,可以更高效地利用JDBC进行...

    JDBC2

    同时,通过使用Statement的setFetchSize()方法,开发者可以实现数据的分页,提高应用性能。 JDBC2还引入了**存储过程的支持(Support for Stored Procedures)**。开发者可以调用数据库中的存储过程,获取返回值,...

    利用JDBC解决大数据查询的问题

    #### 二、JDBC基础知识与解决方案 为了有效地解决这个问题,我们首先需要了解如何使用JDBC来创建和管理`ResultSet`对象,并掌握如何通过调整查询行为来优化性能。 ##### 2.1 创建ResultSet `ResultSet`对象是JDBC...

    Db.rar_滚动

    1. **JDBC基础**:JDBC是一个Java API,它提供了一组接口和类,用于连接、查询和操作数据库。主要包括以下组件: - `java.sql.DriverManager`:管理数据库驱动,用于建立数据库连接。 - `java.sql.Connection`:...

    My sql 驱动程序

    总之,MySQL驱动程序是Java应用程序与MySQL数据库之间的桥梁,理解和正确使用它是进行数据库操作的基础。了解如何添加、注册和使用驱动,以及如何处理可能出现的问题,是每个Java开发者必备的技能之一。

    sql总结1

    在Java中,通常通过`Class.forName()`方法来加载特定数据库的JDBC驱动。例如,对于MySQL,我们会写`Class.forName("com.mysql.jdbc.Driver")`。这使得Java应用程序能够识别并使用相应的数据库驱动,从而能够与数据库...

    Java程序连接数据库的常用的类和接口介绍

    另外,为了优化性能,可以考虑使用`ResultSet`的`setFetchSize()`方法控制数据的获取量,避免一次性加载大量数据导致内存压力。 总之,理解并熟练运用`DriverManager`、`Connection`、`Statement`和`ResultSet`这些...

    面向程序员的数据库访问性能优化法则

    数据库性能优化是一个涉及多个层面的综合过程,不仅需要程序员具备一定的理论基础,还需要通过实践不断积累经验。本文所列举的优化法则仅仅是冰山一角,实际应用中还需根据具体情况灵活调整策略。最重要的是,始终...

    Java 通用分页

    2. 使用JDBC API:通过设置Statement的`setFetchSize()`方法来控制每次查询的数据量,但这并不等同于真正的分页,只是在结果集上做了一次内存级别的分页,对大数据量可能导致内存溢出。 3. ORM框架支持:例如...

Global site tag (gtag.js) - Google Analytics