魔方网表 让信息化更简单

 找回密码
 注册
查看: 2012|回复: 3

[求助] 【已回复】如何提高魔方网表报表公式的执行速度?

[复制链接]
土豆你个马铃薯 发表于 2017-12-16 18:06:39 | 显示全部楼层 |阅读模式
本帖最后由 mofang001 于 2018-3-8 13:27 编辑

如何提高魔方网表报表公式的执行速度?
哈尼小姐 发表于 2017-12-16 18:08:31 | 显示全部楼层
在魔方网表中,制作报表一般要写3个公式:
1 清除当前报表数据
2插入统计维度
3 按照维度值更新统计项
回复

使用道具 举报

哈尼小姐 发表于 2017-12-16 18:10:12 | 显示全部楼层
如果统计维度项比较多,而且源表单数据量比较大,采用这种标准写法的报表公式执行很慢,主要原因如下:
1) 第1步清除当前报表数据,系统默认会针对每条记录进行数据库删除操作,删除数据效率低
2) 第2步插入统计维度,很多情况下,统计维度都是从源表单中选择不重复的值填写过来,如果源表单数据量大,执行速度会很慢
3) 第3步按照维度值更新统计项,按照每个统计维度值从源表单过滤出数据然后进行统计计算,如果统计维度比较多,而且源表单数据量比较大,执行速度也很慢
回复

使用道具 举报

哈尼小姐 发表于 2017-12-16 18:11:45 | 显示全部楼层
下面我们针对每个步骤进行优化:
1) 将删除报表数据的操作改为清空,清空的特点是一次性将命令发给数据库,数据库执行完操作返回,避免了删除记录方式下没删除一条记录访问一次数据库,提高了删除速度。但此办法不能触发删除类的回写公式,如果没有删除类的回写公式,可尝试用使用这个办法。
2) 将第2步和第3步合并成一步,也就是说写一条新增类型的报表公式,同时给维度项和统计项赋值,这种情况下,魔方网表会将统计命令一次性发给数据库,数据库进行分组汇总后将结果返回给魔方网表。这个办法避免了大量反复查询汇总操作,从而提高了执行效率。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则


Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-5-14 10:55 , Processed in 0.077020 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表