`
a461519787
  • 浏览: 1884 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

优化报表查询的性能

阅读更多
  当selsct语句仅仅选择查询持久化类的部分属性时,Hibernate返回的查询结果为关系数据,而非持久化对象.例如:
 from Customer c inner join c.orders o group by c.age

 select c.ID,c.NAME,c.age,o.ID,o.REDER_NUMBER,o.CUSTOMER_ID from Customer c inner join c.orders c group by c.age

  以上两HQL 查询语句对应的SQL语句相同,因此能查询出数据库中相同的数据.区别在于前者返回的是Customer和Order持久化对象,它们Session的缓存中,Session会保证它们的唯一性.后者返回的是关系数据,它们不会占用Session 缓存,只要应用程序中没有任何变量引用这些数据,它们占用的内存就可以被JVM的垃圾回收器回收.

  报表查询通常会处理大量的数据,例如对于以上查询语句,可能会检索出上万条的Customer和Order记录. 另一方面,报表查询一般只涉及对数据库的读操作,而不会修改数据.如果采用第一种形式的HQL语句,会导致大量的Customer和Order持久化对象一直位于Session缓存中,而且Session还必须负责这些对象与数据库的同步.如果采用第二种形式的HQL语句,能提高报表查询的性能,只要应用程序不再引用这些数据,它们占用的内存就会被释放
   
   对于第二种形式的HQL语句,可以定义一个JavaBean来包装查询结果中的关系数据,使应用程序仍旧能按照面向对象的方式来访问查询结果,例如:
 
 select from CustomerOrder(c.ID,c.NAME,c.age,o.ID,o.ORDER_NUMBER,o.CUSTOMER_ID)from Customer c inner join c.orders c group by c.age


  需要注意的是:CustomerOrder类不是持久化类,它没有映射文件,它的实例不会被加入Sesion缓存中.
分享到:
评论

相关推荐

    帆软报表查询性能sql分析插件

    帆软报表查询性能SQL分析插件是一款专门针对帆软报表系统的增强工具,旨在提升报表查询效率和性能优化。此插件能够深入解析SQL查询过程,帮助用户识别并解决潜在的性能瓶颈,确保报表的快速准确生成。以下是关于这款...

    oracle优化报表查询.zip

    "Oracle优化报表查询"的主题涉及到如何提升SQL查询的效率,减少处理大数据量时的耗时,以及通过各种策略来实现更高效的报表展示。下面将详细讨论一些关键的知识点: 1. **SQL优化**: SQL查询是报表的基础,优化SQL...

    EBS性能调优之全面挖掘_V4.2(ebs性能优化、oracle性能优化、linux性能优化)

    SQL优化则侧重于通过分析SQL执行计划,识别慢查询并应用索引、物化视图、绑定变量等策略来提升查询性能。AWR(Automatic Workload Repository)报告是这一过程中的重要工具,它提供了实例和SQL性能的详细统计,帮助...

    报表性能优化方案之行引擎执行层式报表

    在具体实现上,使用FineReport报表开发工具,可以通过以下步骤来启用行引擎并优化报表性能: 1. 新建数据集,定义SQL查询,例如在MySQL中查询S订单明细。 2. 设计报表模板主体,将查询到的列拖拽到模板中,构建报表...

    报表性能优化方案之报表计算时间

    总之,优化报表计算时间涉及多个层面,从单元格的使用、隐藏行列的设置,到合并单元格的运用,条件属性的应用,数据列基本属性的设置,父格的选取,以及自动调整行高或列宽的取消和过滤条件的优化等。正确的报表设计...

    报表性能优化方案之报表服务器优化基础讲解

    JVM堆栈内存是决定应用服务器性能的关键指标,一般服务器默认的内存配置都比较小,在较大型的应用项目中,这点内存是不够的,因此需要进行查看与修改Web服务器内存大小,接下来就介绍服务器内存查看的方法以及不同...

    技術分享_Common Report Query Performance Tuning1

    《Common Report Query Performance Tuning1:优化报表查询性能》 在现代企业中,报表系统扮演着至关重要的角色,它为企业决策提供了数据支持。然而,随着报表数量的急剧增长,浏览和检索报表的速度可能会显著降低...

    COGNOS报表服务器性能优化

    【COGNOS报表服务器性能优化】 COGNOS报表服务器是一款强大的商业智能工具,用于数据分析和报表生成。在处理大量数据时,性能优化至关重要,以确保高效、快速地提供信息。以下是一些关于COGNOS报表服务器性能优化的...

    ABAP报表性能优化注意事项

    总的来说,优化ABAP报表性能需要综合考虑数据处理逻辑、查询设计、索引利用以及数据库交互方式等多个方面。通过这些最佳实践,可以显著提升报表的响应速度,提高用户满意度,并减轻系统的资源压力。在日常开发中,...

    Oracle查询优化技术在电信业务报表系统中的应用

    电信业务报表系统的高效运行依赖于其查询性能的优化。通过充分利用Oracle的查询优化技术,如索引、查询重写、物化视图、并行查询、分区以及存储过程和函数的优化,可以显著提升前台实时查询的响应速度和后台大数据量...

    patch_65_报表查询上限放大至5万查询补丁.zip

    标题中的"patch_65_报表查询上限放大至5万查询补丁.zip"指的是一个针对NC65系统的更新补丁,其主要目的是提升报表查询功能的性能,将原有的查询上限从原先的数值增加到5万条数据。这个补丁是为了满足用户在处理大...

    报表性能优化方案之数据集缓存与共享

    综上所述,FineReport提供的数据集缓存与共享机制,结合了内存缓存和磁盘缓存的各自优势,并通过合理设置缓存参数,优化报表性能。在实际应用中,需要根据报表的具体使用场景和数据特性,选择合适的缓存策略,以达到...

    报表性能优化方案之报表取数

    取数的原理是设计器拼出最终的SQL,将SQL语句传给数据库,数据库执行,将数据返回给设计器。由于计算过程首先要通过SQL语句从数据库中取数据,我们可以通过控制数据量的大小和对数据的提前预处理来提高报表的性能

    java报表最优解决方案

    3. **报表服务器**:为报表引擎提供运行环境,同时也提供报表的开发接口、监控管理和性能优化等功能。支持报表缓存、并发控制、性能管理、管理监控和定时调度等特性。 4. **报表客户端**:内嵌于浏览器中的Applet,...

    Cognos 中国—Cognos报表性能调优

    Cognos报表性能调优是针对IBM Cognos产品进行的一项重要工作,其目的在于提升报表的运行效率和用户体验。在进行性能调优时,通常涉及多个层面的优化,包括服务器配置、报表设计以及数据库层面的调优。以下是一些详细...

    报表性能优化方案之报表缓存路径

    若启用了磁盘缓存,默认的会在C:\Documents and Settings\Administrator\.FineReport80(windows下)下创建cache即缓存文件夹,一般呢,C盘的空间会很小,如保存在C盘会增加对C盘的压力,那么有没有方法让其保存到...

    动态添加删除列和高级报表查询统计

    6. **性能优化**:尽管动态列和高级查询提供了极大的灵活性,但也会对性能产生影响。因此,在设计这类报表系统时,需要考虑数据加载、渲染和计算的效率。可能的优化策略包括延迟加载、分页、缓存以及利用服务器端...

    ACCESS解决报表查询

    而"Group Access Tables, Attributes, and Diagram.xlsx"则可能包含关于数据库表格、属性和关系的详细信息,这对于理解和优化查询性能很有帮助。 在实际操作中,确保良好的数据库设计是提升查询效率的关键。这包括...

    帆软报表插件,显示sql数据集的查询时间。

    1. **性能优化**:当发现某些SQL查询耗时过长时,可以通过优化查询语句、调整索引或改进数据库架构来提升系统性能。 2. **问题排查**:当系统响应变慢时,查询时间信息可以帮助快速定位问题源头,是数据库问题还是...

Global site tag (gtag.js) - Google Analytics