`
smallvq123
  • 浏览: 36041 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Hibernate大数据量处理优化

阅读更多

1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。 
2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, 
1. 使用List()返回结果时,Hibernate会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。 
2. 而使用iterator()返回结果时,在每次调用iterator.next()返回对象并使用对象时,Hibernate才调用查询将对应的对象初始化,对于大数据量时,每调用一次查询都会花费较多的时间。当结果集较大,但是含有较大量相同的数据,或者结果集不是全部都会使用时,使用iterator()才有优势。 
3. 对于大数据量,使用qry.scroll()可以得到较好的处理速度以及性能。而且直接对结果集向前向后滚动。 
3) 对于关联操作,Hibernate虽然可以表达复杂的数据关系,但请慎用,使数据关系较为简单时会得到较好的效率,特别是较深层次的关联时,性能会很差。 
4) 对含有关联的PO(持久化对象)时,若default-cascade="all"或者 “save-update”,新增PO时,请注意对PO中的集合的赋值操作,因为有可能使得多执行一次update操作。 
5) 在一对多、多对一的关系中,使用延迟加载机制,会使不少的对象在使用时方会初始化,这样可使得节省内存空间以及减少数据库的负荷,而且若PO中的集合没有被使用时,就可减少互数据库的交互从而减少处理时间。 
6) 对于大数据量新增、修改、删除操作或者是对大数据量的查询,与数据库的交互次数是决定处理时间的最重要因素,减少交互的次数是提升效率的最好途径,所以在开发过程中,请将show_sql设置为true,深入了解Hibernate的处理过程,尝试不同的方式,可以使得效率提升。 
7) Hibernate是以JDBC为基础,但是Hibernate是对JDBC的优化,其中使用Hibernate的缓冲机制会使性能提升,如使用二级缓存以及查询缓存,若命中率较高明,性能会是到大幅提升。 
8) Hibernate可以通过设置hibernate.jdbc.fetch_size,hibernate.jdbc.batch_size等属性,对Hibernate进行优化。

 

转自  http://www.iteye.com/topic/1114392

分享到:
评论

相关推荐

    大数据量数据库优化.

    1) 在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中 2) 对大数据量查询时,慎用list()或者iterator()返回查询结果, 3) 对于关联操作,Hibernate虽然可以表达复杂的数据关系 4) 对含有关联的PO...

    Hibernate实战(第2版 中文高清版)

     3.3.4 处理全局的元数据   3.3.5 运行时操作元数据   3.4 其他实体表示法   3.4.1 创建动态的应用程序   3.4.2 表示XML中的数据   3.5 小结  第二部分 映射概念和策略  第4章 映射持久化类   4.1 ...

    hibernate完整学习

    Hibernate的本质 也是处理对象和关系模型之间的转换,只是对JDBC做了一层封装 优点: 1.... session.save(user);...如果一张表中有上亿级别的数据量,也不适合用hibernate(数据库读写分离,分库分表)

    车辆管理系统(struts+hibernate+spring+oracle)130225.rar

    这个压缩包"130225.rar"包含了一个基于Java的车辆管理系统的完整源码,采用了Struts、Hibernate、Spring和Oracle数据库的技术栈。...同时,系统的性能优化也做得很好,即使在数据量大的情况下也能保持良好的响应

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223.rar

    项目申报系统是一个基于Struts2+Spring+Hibernate+Jsp+Mysql5的...通过合理的数据库设计和优化,系统能够高效地处理大量的数据请求,保证了系统的性能和稳定性。总之,这个计算机专业JSP源码资料包为学习者提供了一

    java_jsp项目源码_网上订餐系统(struts+spring+hibernate).rar

    * 报表统计:管理员可以查看系统的各项统计数据,如销售额、订单量、用户活跃度等,以便进行数据分析和决策支持。 **项目优势:** 1. **高效的订餐流程:** 用户可以轻松地浏览菜品、下单并支付,无需担心线下...

    低清版 大型门户网站是这样炼成的.pdf

    13.4 搜索引擎优化辅助工具大本营 805 13.4.1 关键字选词辅助工具 806 13.4.2 关键字排名查询 807 13.4.3 关键字密度查询 808 13.4.4 热门关键字及搜索量查询 808 13.4.5 pr值查询 809 13.4.6 alexa世界排名...

    iBATIS技术教程PPT和代码.rar

    系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。面对这样的需求,再次举起 Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,...

    Java面试宝典2020修订版V1.0.1.doc

    29、如何优化大数据量的访问? 51 30、oracle怎么去除去重 51 31、合并查询有哪些? 51 32、SQL语句执行顺序 51 33、null的含义 52 34、mysql分页 52 35、MySQL、SqlServer、oracle写出字符存储、字符串转时间 52 36...

    免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)

    主要功能包括患者信息管理、电子病历编辑与存储、医疗记录查询、诊断报告生成、药品处方管理、治疗计划制定、医疗数据统计与分析、以及医护人员的工作量统计等。系统还特别注重数据的安全性和隐私保护,采用加密技术...

    java面试手册及各类java书籍

    性能优化篇:分析Java应用的性能瓶颈,提供优化策略和最佳实践,帮助读者提升应用的性能。 面试题解析篇:精选大量Java面试题,并给出详细的解析和答案,帮助读者更好地应对面试挑战。 特色亮点: 权威性与实用性:...

    ibatis 开发指南

    系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高 度优化的SQL语句(或存储过程)才能达到系统性能设计指标。 面对这样的需求,再次举起Hibernate 大刀,却发现刀锋不再锐利,甚至无法...

    JSP开发技术大全 JSP

    mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...

    网站设计方案(完整版).doc

    Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在 Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架 构中取代CMP,完成数据持久化的重任。...

    jsp 开发技术大全

    mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...

    JSP开发技术大全 源码

    mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...

    java源码包---java 源码 大量 实例

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    Spring面试题

    6. 如何优化Hibernate? 1.使用双向一对多关联,不使用单向一对多 2.灵活使用单向一对多关联 3.不用一对一,用多对一取代 4.配置对象缓存,不使用集合缓存 5.一对多集合使用Bag,多对多集合使用Set 6. 继承类使用...

    bootstrap:具有命名约定的模块化REST +前端模板

    :link: Ligoj靴带 REST +前端模板,带有大量具有许多...Data扩展可实现性能,最少的代码和异常处理基于Spring的前/后架构Spring Boot /安全性/ Web /数据CXF JPA /Hibernate用于JPA和JAX-RS的Hibernate验证器JUnit 5

    这是一款特别适用于中小企业应用的JavaEE快速开发框架.zip

    包括编译器、构建工具(如Make、Gradle、Maven)等,用于将源代码转换为可执行文件或库,并进行资源打包、优化等处理。 调试与测试: 集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等...

Global site tag (gtag.js) - Google Analytics