`

报表性能优化方案之善用参数注入

阅读更多

1. 问题描述

对于多数据集关联报表,当数据很大时报表的展现速度就会很慢,或通过写sql语句又很复杂。为此FineReport提供一种,既可加快报表的展现速度,又不用编写复杂的sql语句的方案。即使用动态参数注入功能。

2. 原理

动态参数注入,是通过注入的值对数据库中的数据进行操作的,只是取对应的数据,所以会提高报表的性能。

3. 示例

  • 新建模板

展现多个关联数据表的数据

SQL语句,ds1:SELECT * FROM [订单]

SQL语句,ds2:SELECT * FROM 订单明细

  • 报表样式

 

传统做法:先定义多个数据集,然后在报表中设置过滤条件,或使用连接将多个数据表定义成一个sql,但这两种方案会产生的一系列问题(具体下面有介绍)。而使用动态参数注入的功能可解决大数量报表展现的速度,下面对比看下这三种做法。

3.1 设置过滤

此方法是定义两个数据集查询出所有数据,然后在报表中设置过滤条件。

分页预览query_like.cpt,从日志中可看出,是将第二个数据集中的数据全部取出了,如下所示:

 

注:对于数据量大的报表,若将数据全部取出会降低报表的性能,因此会降低报表的展现速度。

3.2 定义sql

若是采用将两个数据集定义成一个数据集,则SQL语句为:select a.订单ID,订购日期,到货日期,发货日期,产品ID,单价,数量,进价,折扣 from 订单 a,订单明细 b where a.订单ID=b.订单ID

注:当数据集很多时, 这样定义sql很麻烦,看了也觉得很复杂。

3.3 使用动态参数注入

  • 修改sql语句

将上述模板中,数据集ds2的sql语句,修改成:SELECT * FROM [订单明细] where 订单ID =${orderid},并将参数orderid设置个默认值为订单ID中的一个值,如:10248。

  • 参数注入设置

双击原进行过滤的E2单元格,在弹出数据列对话框中,点击动态参数注入按钮,弹出动态参数注入对话框,然后点击插入:名字和值分别为数据集ds2的参数:orderid和数据集ds1对应数据列所在的单元格:A2,且同时删除过滤条件。

点击设计器预览是,日志中可看出每执行一行就只是取出的对应订单ID的那条数据,如下图所示:

 

注:动态参数注入功能适用于大数据量报表,能够明显的体现出速度优势,而上文中的模板只是介绍其方法的。

0
1
分享到:
评论

相关推荐

    C++性能优化技术导论.pdf

    第二章讨论了如何善用编译器进行性能优化。编译器提供了多种优化选项,如内联优化、循环展开、向量化等,开发者可以根据实际情况和需求选择合适的编译器优化级别。在有些情况下,开发者还可以通过内联汇编等方式与...

    HBase性能优化方法总结

    然而,随着数据量的增长,如何进行有效的性能优化变得至关重要。本文将深入探讨HBase性能优化的各种策略,旨在帮助你提升数据操作的效率。 一、硬件优化 1. **磁盘选择**:HBase对I/O性能要求较高,因此推荐使用SSD...

    前端大厂最新面试题-前端性能优化.docx

    图片优化是提高前端性能的重要方面之一。我们可以使用图片延迟加载、响应式图片、调整图片大小等方法来提高图片加载速度和减少文件大小。 图片延迟加载可以减少 HTTP 请求次数和提高用户体验。响应式图片可以根据...

    【面试资料】-(机构内训资料)Java深入了解性能优化.zip

    8. **垃圾收集优化**:理解不同GC算法(如Serial、Parallel、CMS、G1、ZGC等)的优缺点,根据应用特点选择合适的垃圾收集器,并调整相关参数,以达到最佳性能。 9. **类加载优化**:了解双亲委派模型,避免类加载...

    SQL Server 2000完结篇系列之八:SQL Server 2000过程优化详解

    在SQL Server 2000这个经典版本中,数据库管理员和开发者经常面临性能优化的挑战。本篇将深入探讨SQL Server 2000过程优化的相关知识点,旨在帮助你提升数据库系统的运行效率。 1. **查询优化器**:SQL Server 2000...

    SQL优化实践.pdf

    在SQL优化实践中,确保数据库高效运行是至关...对于每个查询,都需要深入理解其执行逻辑和数据分布,以找到最合适的优化方案。在实践中,应结合数据库管理系统特性,灵活运用这些原则和技巧,确保SQL查询的高效执行。

    一刻钟大话性能.pdf

    8. **最佳实践**:避免递归和多层循环,善用缓存,谨慎使用锁,适当使用小粒度的事务,选择合适的通信方式,合理利用并行计算,正确实施SOA,以及进行实时监控和制定应急预案,都是优化性能的重要原则。 9. **自我...

    善用几何作图,优化课堂效率.doc

    善用几何作图,优化课堂效率.doc

    从案例中学习如何快速缩短SQL优化过程.pdf

    优化工作往往需要明确目标,这包括了解系统的性能瓶颈、确定优化的具体需求(如提升查询速度、减少资源消耗等),以及设定优化效果的评估标准。没有明确的目标,优化可能会盲目进行,从而导致优化不彻底或者浪费资源...

    五种提高 SQL 性能的方法

    总结来说,提升SQL性能涉及多个方面,包括正确处理IDENTITY值、优化JOIN操作、善用临时表和索引,以及精炼查询语句。每个应用程序都有其特定的性能瓶颈,因此,深入理解数据库设计和SQL语法,结合实际场景进行调整和...

    善用大数据构建优化电力营商环境审计监督体系.docx

    【标题】: 善用大数据构建优化电力营商环境审计监督体系 【描述】: 本文提出了一种利用大数据技术来构建和优化电力营商环境审计监督体系的方法,旨在提升审计效能,改善电力营商环境。 【标签】: 技术方案 【正文...

    Excel报表汇总助手

    《Excel报表汇总助手:提升数据分析效率的秘密武器》 在当今数据驱动的时代,Excel作为一款功能强大的电子表格软件,被广泛应用于各个行业的数据处理与分析。然而,面对大量的数据,手动进行汇总无疑是一项耗时费力...

    善用佳软:高效能人士的软件之道

    《善用佳软:高效能人士的软件之道》是一本旨在帮助用户提升计算机软件使用效率的指南。本书针对各类常用软件,提供了丰富的使用技巧和经验分享,旨在使读者能够更好地利用软件工具,提高工作和学习的效能。在数字化...

    2019.04新版64位nVIDIA显卡CUDA性能测试工具,可测试nVIDIA显卡的参数,CUDA浮点运算性能

    此外,CUDA-Z还可以检测GPU的温度、功耗和显存带宽等关键指标,这些数据对于优化应用程序的性能和确保设备的稳定运行至关重要。通过分析这些数据,用户可以判断GPU是否在最佳状态下工作,或者是否存在瓶颈限制了计算...

Global site tag (gtag.js) - Google Analytics