润乾报表优化与性能管理.docx

润乾报表优化与性能管理.docx

ID:52443793

大小:1.53 MB

页数:30页

时间:2020-03-27

润乾报表优化与性能管理.docx_第1页
润乾报表优化与性能管理.docx_第2页
润乾报表优化与性能管理.docx_第3页
润乾报表优化与性能管理.docx_第4页
润乾报表优化与性能管理.docx_第5页
资源描述:

《润乾报表优化与性能管理.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、润乾报表优化与性能管理编制者:吴国邦目录第一章、报表优化41.灵活应用多数据集41.1.1. 网格式、分组式、交叉式尽量用单数据集41.1.2. 多源分片、主子报表尽量用多数据集52.写sql的技巧72.1.1. 尽量在sql里进行group72.1.2. 尽量不用select*from82.1.3. 尽量在sql里排序82.1.4. 尽量在sql里过滤82.1.5. 大数据量可以采用存储过程83.当前行、当前组的概念93.1.1. select函数93.1.2. select1()函数103.1.3. group函数104.写表达式的技巧124.1. or/

2、

3、操作符124.2. and/&

4、&操作符124.3. 过滤条件124.4. 二分法查找函数bselect1134.5. 巧用空值判断nvl144.6. 数据类型的考虑155.枚举分组165.1. enumgroup函数165.2. plot函数176.如何减少冗余单元格占用内存196.1. 空白单元格的应用196.2. 慎用隐藏行列196.3. 慎用合并单元格19第二章、性能管理217.单用户缓存217.1.1. 概念定义217.1.2. 功能背景217.1.3. 使用方法217.2. 多用户间共享缓存227.2.1. 概念定义227.2.2. 功能背景227.2.3. 控制方式237.2.4. 使用方法237.3. 静态并

5、发控制257.3.1. 概念定义257.3.2. 功能背景257.3.3. 使用方法257.4动态并发控制267.4.1. 概念定义267.4.2. 功能背景267.4.3. 使用方法267.5. 大报表运算中断277.5.1. 概念定义277.5.2. 功能背景277.5.3. 使用方法277.6. 集群时缓存同步287.6.1. 概念定义287.6.2. 功能背景287.6.3. 使用方法298.7.表达式预解析308.7.1. 概念定义308.7.2. 功能背景308.7.3. 使用方法30第一章、报表优化1.灵活应用多数据集1.1.1. 网格式、分组式、交叉式尽量用单数据集看如下的报表

6、:图 1.1. 这是一个比较典型的多层交叉报表,其做法有两种:第一种:图 1.2. 这种做法设计了五个数据集,每一层的表头都来自一个码表,交叉点的数据汇总时根据条件和表头关联第二种:图 1.3. 这种做法只设计了一个数据集,把码表和事实记录表叉乘起来,在报表中进行分组扩展我们试比较一下两种做法的优缺点:第一种做法:1.数据集不需要对多表进行叉乘,取数速度快2.事实记录数据集可以在sql里先进行分组聚集操作,减少取过来的记录书,加快取数的速度和报表运算速度3.表头扩展直接对码表进行select操作,运算速度快4.交叉点汇总需要对事实记录表进行检索遍历,查找出和表头关联的记录进行汇总,交叉点的格子

7、数远远大于表头单元格的个数,事实记录表的记录数也一般远远大于码表的记录数,每个交叉点都要对事实记录表遍历检索一次,运算速度非常慢第二种做法:1.数据集需要对码表和事实记录表进行叉乘,取数速度慢,但是一般情况下码表的字段数只有一两个,而且数据库有索引,记录数不是非常大的情况下慢不了很多2.在数据集sql里就可以对表头字段先进行分组聚集,这样取过来的记录数大大减少,加快了取数速度和报表的运算速度3.表头单元格是对事实记录表进行分组操作,然后再扩展,比第一种做法慢一些,但是由于对数据集只要进行一次的分组操作,因此慢不了太多4.交叉点汇总不需要再对事实记录表进行检索遍历了,而是直接对当前组集里的记录进

8、行汇总,因此速度大大提高了总结:第二种的做法性能优于第一种1.1.2. 多源分片、主子报表尽量用多数据集看如下报表:图 1.4. 这是一个比较典型的主子报表,主表一条记录对应子表多条记录,是个典型的一对多的关系,再引伸一下,一个主表可以对应多个子表,每个子表都是多条记录。此时做法还是存在两种:第一种:1.每个主表和子表分别定义一个数据集,在报表里通过条件把子表和主表关联起来2.优点:避免了表间叉乘,减少了数据量,加快了取数速度和数据库的运算速度。3.原因:对于主子报表,主表的字段数一般比较多,而子表一般有多条记录和主表的一条记录关联,同时子表间往往没有关联关系,因此如果叉乘会导致数据量大大增加

9、,在多子表的情况下这个现象尤其明显4.缺点:子表取数扩展时,需要根据条件和主表记录关联,需要对子表记录进行遍历检索,但是大部分的情况下,主表只有一条记录或者只有十几条记录,因此对子表的遍历检索次数不会很多第二种:1.只定义一个数据集,把主表和所有子表叉乘起来2.缺点:由于子表之间没有关联关系,且主表的字段数比较多,叉乘往往导致记录数呈几何级数增加3.优点:子表取数扩展时,不需要对子表记录进行遍历扩

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。