`
ariyue
  • 浏览: 345345 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

hibernate优化整理

    博客分类:
  • java
阅读更多
1、针对oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。

即在hibernate配制文件中进行配制:

1 <property name="hibernateProperties">
2 <props>
3 <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
4 <prop key="hibernate.show_sql">false</prop>
5 <!-- Create/update the database tables automatically when the JVM starts up
6 <prop key="hibernate.hbm2ddl.auto">update</prop> -->
7 <!-- Turn batching off for better error messages under PostgreSQL
8 <prop key="hibernate.jdbc.batch_size">100</prop> -->
9 <prop key="hibernate.jdbc.batch_size">50</prop>
10 </props>
11 </property>Fetch Size设的越大,读数据库的次数越少,速度越快;Fetch Size越小,读数据库的次数越多,速度越慢。
2、如果是超大的系统,建议生成htm文件。加快页面提升速度。

3、不要把所有的责任推在hibernate上,对代码进行重构,减少对数据库的操作,尽量避免在数据库查询时使用in操作,以及避免递归查询操作,代码质量、系统设计的合理性决定系统性能的高低。

4、 对大数据量查询时,慎用list()或者iterator()返回查询结果,

(1). 使用List()返回结果时,Hibernate会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。

(2). 而使用iterator()返回结果时,在每次调用iterator.next()返回对象并使用对象时,Hibernate才调用查询将对应的对象初始化,对于大数据量时,每调用一次查询都会花费较多的时间。当结果集较大,但是含有较大量相同的数据,或者结果集不是全部都会使用时,使用 iterator()才有优势。

5、在一对多、多对一的关系中,使用延迟加载机制,会使不少的对象在使用时方会初始化,这样可使得节省内存空间以及减少数据库的负荷,而且若PO中的集合没有被使用时,就可减少互数据库的交互从而减少处理时间。

6、对含有关联的PO(持久化对象)时,若default-cascade="all"或者 “save-update”,新增PO时,请注意对PO中的集合的赋值操作,因为有可能使得多执行一次update操作。

7、对于大数据量新增、修改、删除操作或者是对大数据量的查询,与数据库的交互次数是决定处理时间的最重要因素,减少交互的次数是提升效率的最好途径,所以在开发过程中,请将show_sql设置为true,深入了解Hibernate的处理过程,尝试不同的方式,可以使得效率提升。尽可能对每个页面的显示,对数据库的操作减少到100----150条以内。越少越好。
分享到:
评论

相关推荐

    hibernate权威整理文档!

    【hibernate权威整理文档!】 一、Hibernate简介 Hibernate是一个强大的ORM(Object-Relational Mapping)框架,它致力于简化Java应用程序的持久层开发。通过Hibernate,开发者可以将Java对象映射到数据库表,从而实现...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    hibernate配置连接池整理

    **标题:“Hibernate配置连接池整理”** 在Java开发中,数据访问层的性能优化往往离不开高效的数据连接管理,而连接池就是实现这一目标的关键技术。Hibernate作为一款强大的对象关系映射(ORM)框架,它提供了与...

    尚学堂hibernate学习笔记(原版整理)

    优化是任何系统开发中的重要环节,对于Hibernate而言,可能涉及到缓存策略、批处理、延迟加载等方面的调整,以提高系统的响应速度和减少数据库压力。 12. **补充话题** 除了基础内容外,笔记还可能包含一些扩展...

    Hibernate 二级缓存 总结整理

    **Hibernate 二级缓存总结整理** 在Java的持久化框架中,Hibernate是一个广泛使用的ORM(对象关系映射)工具,它极大地简化了数据库操作。在处理大数据量或高并发的场景下,为了提高性能和减少数据库负载,...

    Hibernate开发实战讲解(源代码)源码整理

    - 查询优化:研究复杂查询的实现,学习如何使用JOIN、子查询、分页等提高查询效率。 5. 使用说明 "下载及使用说明.txt"可能包含了如何运行和理解源码的指导,包括环境搭建、项目导入、运行步骤等。遵循这些说明,...

    hibernate学习资料大合集

    这两份笔记可能由经验丰富的开发者整理,包含他们在学习和使用Hibernate过程中积累的实用技巧和常见问题解决方案。这些个人经验往往能提供独特的视角和实战经验,对于解决实际问题非常有价值。 通过这些资料的学习...

    hibernate 3.2中文手册 中文文档

    ### Hibernate 3.2中文手册知识点汇总 ...以上是基于提供的文件信息中提到的部分章节内容所整理的关键知识点。这些知识点涵盖了从Hibernate的基本使用到高级配置和技术细节,有助于深入理解和掌握Hibernate框架。

    db2 性能优化--最新整理

    ### DB2性能优化详解 #### 一、引言 在数据库管理系统(DBMS)领域,IBM的DB2作为一款成熟且广泛使用的解决方案,在诸多业务场景中扮演着关键角色。随着数据量的增长和技术的发展,如何有效提升DB2的性能成为了许多...

    hibernate官方入门教程 (转载)

    标题“hibernate官方入门教程 (转载)”表明这是一份关于Hibernate框架的基础教学资源,可能是从官方文档或者其他可靠来源整理而来的,适合初学者了解和学习Hibernate。 描述中提到的“NULL”意味着没有具体的描述...

    Java Hibernate4天学习笔记整理可用于提交作业

    Hibernate提供了懒加载和立即加载两种方式,根据需求选择合适的方式可以优化性能。 十一、多对一、一对多、多对多关系映射 Hibernate 支持多种关系映射,包括一对一、一对多、多对一和多对多。通过配置外键或使用...

    Hibernate数据检索(HQL)笔记

    本文档基于魔乐科技李兴华老师的 Hibernate 教程笔记进行整理与扩展,主要介绍了 Hibernate 的数据检索方法,特别是 HQL(Hibernate Query Language)的使用技巧。 #### 二、HQL 基础 HQL 是一种面向对象的查询语言...

    整理的Hibernate

    合映射的例子,展示了如何在Hibernate中处理复杂的对象结构。...注意,合理使用懒加载和级联操作可以优化应用程序的性能,避免不必要的数据库交互。同时,选择合适的主键生成策略对于数据库的维护也至关重要。

    Hibernate_PDF_超好

    书中涵盖的内容包括:Hibernate概述、环境配置、实体类与表的映射、对象状态管理、持久化操作、查询语言HQL、 Criteria查询、关联映射、缓存机制、事务处理以及性能优化等方面。通过这本书,读者可以深入理解...

    Hibernate4视频源码

    本资源包含了作者通过观看视频学习并整理的Hibernate4相关源码,旨在帮助初学者理解其内部机制和核心功能。 1. **对象关系映射(ORM)基础** Hibernate4 提供了ORM服务,允许开发者用面向对象的方式处理数据。它将...

    非常精简的s2sh jar包整理,struts2.3.4,hibernate3.6.10,spring3.1.0

    【标题】"非常精简的s2sh jar包整理,struts2.3.4,hibernate3.6.10,spring3.1.0"所提及的是一个针对经典Java Web开发框架Struts2、Hibernate和Spring的集成包。这个整理包含了这三个框架的关键组件,版本分别为...

    Hibernate入门.rar

    【Hibernate入门】是一个针对初学者精心整理的教程资源包,旨在帮助新手快速理解并掌握Java持久化框架Hibernate的核心概念和使用方法。这个压缩包包含了所有你需要开始Hibernate学习的基础材料。 Hibernate是一个...

    hibernate 杂谈

    2. **Hibernate关系映射总结整理** Hibernate支持多种关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)、多对多(ManyToMany)。每种关系映射都有其适用场景,理解并熟练运用这些关系...

    邹波老师Hibernate教程学习笔记

    这是一份由个人在观看邹波老师的Hibernate视频教程后精心整理的学习笔记,旨在帮助初学者和有一定基础的程序员更好地理解和运用Hibernate。Hibernate作为Java领域广泛使用的持久化框架,它极大地简化了数据库操作,...

    hibernate+struts 入门PPT

    本教程可能包含了常用SQL语句的整理,包括选择、插入、更新和删除数据的基本语法,以及更复杂的联接、子查询和聚合函数等。这对于理解和优化数据库操作至关重要。 在整合Hibernate和Struts时,通常会使用Struts的...

Global site tag (gtag.js) - Google Analytics