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...
3.3.4 处理全局的元数据 3.3.5 运行时操作元数据 3.4 其他实体表示法 3.4.1 创建动态的应用程序 3.4.2 表示XML中的数据 3.5 小结 第二部分 映射概念和策略 第4章 映射持久化类 4.1 ...
Hibernate的本质 也是处理对象和关系模型之间的转换,只是对JDBC做了一层封装 优点: 1.... session.save(user);...如果一张表中有上亿级别的数据量,也不适合用hibernate(数据库读写分离,分库分表)
这个压缩包"130225.rar"包含了一个基于Java的车辆管理系统的完整源码,采用了Struts、Hibernate、Spring和Oracle数据库的技术栈。...同时,系统的性能优化也做得很好,即使在数据量大的情况下也能保持良好的响应
项目申报系统是一个基于Struts2+Spring+Hibernate+Jsp+Mysql5的...通过合理的数据库设计和优化,系统能够高效地处理大量的数据请求,保证了系统的性能和稳定性。总之,这个计算机专业JSP源码资料包为学习者提供了一
* 报表统计:管理员可以查看系统的各项统计数据,如销售额、订单量、用户活跃度等,以便进行数据分析和决策支持。 **项目优势:** 1. **高效的订餐流程:** 用户可以轻松地浏览菜品、下单并支付,无需担心线下...
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世界排名...
系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。面对这样的需求,再次举起 Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,...
29、如何优化大数据量的访问? 51 30、oracle怎么去除去重 51 31、合并查询有哪些? 51 32、SQL语句执行顺序 51 33、null的含义 52 34、mysql分页 52 35、MySQL、SqlServer、oracle写出字符存储、字符串转时间 52 36...
主要功能包括患者信息管理、电子病历编辑与存储、医疗记录查询、诊断报告生成、药品处方管理、治疗计划制定、医疗数据统计与分析、以及医护人员的工作量统计等。系统还特别注重数据的安全性和隐私保护,采用加密技术...
性能优化篇:分析Java应用的性能瓶颈,提供优化策略和最佳实践,帮助读者提升应用的性能。 面试题解析篇:精选大量Java面试题,并给出详细的解析和答案,帮助读者更好地应对面试挑战。 特色亮点: 权威性与实用性:...
系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高 度优化的SQL语句(或存储过程)才能达到系统性能设计指标。 面对这样的需求,再次举起Hibernate 大刀,却发现刀锋不再锐利,甚至无法...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在 Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架 构中取代CMP,完成数据持久化的重任。...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...
mail组件、程序日志组件、JavaScript脚本语言、CSS样式、XML入门技术、在JSP中应用Ajax技术、在JSP中应用DOM解析XML、在JSP中应用...Hibernate技术、Struts框架、Spring框架、错误处理与程序调试、Web程序优化与发布等...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
6. 如何优化Hibernate? 1.使用双向一对多关联,不使用单向一对多 2.灵活使用单向一对多关联 3.不用一对一,用多对一取代 4.配置对象缓存,不使用集合缓存 5.一对多集合使用Bag,多对多集合使用Set 6. 继承类使用...
:link: Ligoj靴带 REST +前端模板,带有大量具有许多...Data扩展可实现性能,最少的代码和异常处理基于Spring的前/后架构Spring Boot /安全性/ Web /数据CXF JPA /Hibernate用于JPA和JAX-RS的Hibernate验证器JUnit 5
包括编译器、构建工具(如Make、Gradle、Maven)等,用于将源代码转换为可执行文件或库,并进行资源打包、优化等处理。 调试与测试: 集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等...