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

fetchSize对获取记录的影响真大

阅读更多
    刚才做了一个连接远程数据库的测试,程序放在辽宁的机房里,数据库放在北京的机房,一个简单的查询并获取全部结果集的操作,数据库是Oracle 10g,实际的数据一共是272000条,在不设置fetchSize的情况下(根据oracle的文档,默认的fetchSize是10),一共花了948秒才取完全部的数据。后来对程序做了小修改,只是把ResultSet的fetchSize设置成500,耗时缩短到52秒。速度的提升是巨大的。
分享到:
评论

相关推荐

    SSH笔记-检索策略(lazy、fetch、batch-size)

    例如,对于一对多或多对多关系,可以设置`fetch="join"`来执行外连接加载,一次性获取所有关联记录,避免多次查询。 4. **批处理加载(Batch Size)** `batch-size`属性允许我们指定在执行批处理时加载关联对象的...

    优化Hibernate性能的几点建议

    在使用Hibernate进行数据查询时,Fetch Size的设置对性能有着显著的影响。Fetch Size是指每次从数据库中取出的数据行数,默认情况下,Oracle数据库的JDBC驱动程序中的Fetch Size被设置为15。然而,将Fetch Size增加...

    ewrwerw

    `hibernate.jdbc.fetch_size` 参数用于设置Hibernate在执行SQL查询时每次从数据库获取记录的数量。这个值决定了在读取数据时,一次查询可以返回的数据行数。默认情况下,许多JDBC驱动器(包括Oracle的JDBC驱动)将此...

    Hibernate性能优化

    Fetch Size指的是每次从数据库中提取记录的数量。在Oracle数据库中,默认的Fetch Size为15,但是根据实际测试,将Fetch Size设置为30到50之间(最高不超过100)能够显著提升查询速度。 **示例代码:** ```xml ...

    PHP中记录分页显示实例

    在进行网站开发时,数据展示是非常重要的一个环节,尤其是在数据量较大的情况下,为了提高用户体验以及服务器响应速度,通常会采用分页技术来优化数据展示过程。本文将通过一个具体的PHP实现分页功能的例子,来详细...

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

    // 设置每次获取1000条记录 ResultSet rs = stmt.executeQuery("SELECT * FROM users"); ``` ### 存储过程 存储过程不仅可以减少网络交互次数,还可以在数据库端执行复杂的逻辑,提高应用程序的整体性能。例如,...

    JDBC 书籍 学习

    如果查询结果中包含这些类型,那么 fetchSize 将被设置为 1,即每次只获取一行记录。 ##### 2.4 字符类型缓存 字符类型的数据(如 VARCHAR2)在 Java 中占用的空间是固定的。例如,VARCHAR2(10) 占用的空间为 20 ...

    数据库总记录数和所占空间查询语句

    本文将详细介绍如何通过SQL Server中的T-SQL语句来实现对数据库中所有表的记录数及所占空间进行查询的功能。 #### 查询所有表的记录数 首先,我们来看如何查询数据库中所有表的记录数。给定的部分内容中提供了这样...

    Hibernate 性能优化

    2. **Fetch Size**:Fetch Size 设置了每次从数据库获取的数据行数,默认值通常较小。对于大量数据的查询,适当增大 fetch size 可以减少往返数据库的次数,提高性能。 3. **Batch Size**:Batch Size 控制了一次...

    Hibernate Tutorial 09 Hibernate Query Language

    Fetch Size 控制了一次数据库查询返回的记录数量,这对于提高查询性能至关重要。 ```java Query query = session.createQuery("from Book"); query.setFetchSize(100); // 设置每次查询返回的记录数为 100 List ...

    access数据库分页显示.zip

    3. **Skip和Fetch方法**:在VBA中,我们可以使用Recordset的Skip方法跳过指定数量的记录,而Fetch方法用于获取一定数量的记录。通过这两个方法,我们可以实现分页效果。 4. **记录指针**:在Recordset中有一个记录...

    java实现cassandra高级操作之分页实例(有项目具体需求)

    设置 `fetch size` 并不保证返回精确的指定数量的记录,可能略多或略少。 ```java Cluster cluster = Cluster.builder() .addContactPoint("127.0.0.1") .withQueryOptions(new QueryOptions().setFetchSize...

    第三章 MyBatis的核心配置.docx

    * fetchSize:获取记录的总条数设定 * statementType:用户设置mybatis使用那个JDBC的Statement工作 * resultSetType:表示结果集的类型 3.3.2 元素 元素的属性包括: * KeyProperty:仅对insert和update标签有效...

    如何避免JDBC引起的内存溢出情况

    可以通过设置`oracle.jdbc.fetchDirection=oracle.jdbc.OracleFetchDirection.FETCH_FORWARD`来控制游标的读取方向,并通过`oracle.jdbc.fetchSize`属性来指定每次获取的行数。 #### 三、通用的最佳实践 除了针对...

    jpa--9.单向多对一

    在数据库设计中,如果一个表的记录可以与另一个表的多个记录相关联,我们就说这是多对一的关系。例如,一个部门可以有多名员工,而每个员工只能属于一个部门。在JPA中,我们将这个关系映射到两个实体:一个是"多"端...

    ibatis N+1问题

    通过设置`<select>`标签中的`useCache="true"`和`fetchSize`属性,可以尝试一次性获取所有关联数据,而不是对每个主表记录进行单独查询。 2. **连接查询(JOIN)**: 通过在SQL语句中使用JOIN操作,将原本的多次查询...

    Java实现简单的分页功能

    - `getPageSize()` 和 `setPageSize()`:获取或设置每页的记录数。 - `getFirstResult()`:根据当前页码计算每页第一条记录的位置。 - `getNextPageResult()`:获取下一页的起始位置。 - `getTotalCount()` 和 `...

    Hibernate笔记

    - **Fetch Size**: 控制每次查询时从数据库获取的数据量。可以通过`hibernate.jdbc.fetch_size`属性来设置。 - **配置示例**: ```xml <property name="hibernate.jdbc.fetch_size">50 ``` - **Batch Size**: 与...

Global site tag (gtag.js) - Google Analytics