反饋已提交
網絡繁忙
随着越来越多的用户,对报表样式需求日益增多,折叠树由于样式美观,使用也越发增加。
因而也造成了很多性能上的使用卡顿,本文档从排查步骤、推荐功能的角度,对折叠树的性能优化进行总结整理。
注:每个情况对应的方案介绍请参见本文第三章、第四章。
計算屬性:
包含对折叠树性能的优化,主要分为异步取数及非异步取数。针对大数据量的折叠树控件,优化效果好,尤其异步取数。因此,若用户有万级以上的折叠树展示需要,可优先使用新引擎下的异步取数折叠树。
1)异步取数折叠树
主要针对结构比较标准的单棵纵向折叠树,通过异步取数+异步加载,从取数阶段就进行折叠树性能的优化。
场景限制(只支持同时满足以下条件的场景):
单数据集
折叠树按钮纵向排布
数据欄公式仅支持sum()汇总和列内计算
单棵折叠树
折叠树按钮所在列的数据欄左父格需设置为折叠树按钮所在单元格
去掉多余的空白列欄,因为占位的空白列欄仍然要满足第 5 条规定,一般来说为了保证能正常使用,尽量不要留空白列欄。
2)非异步取数折叠树
主要优化前台数据加载的性能问题,实现前台异步加载,优化折叠树的前端性能。
支持场景:
折叠树纵向扩展
此类非异步主要适用于:不满足异步取数的折叠树场景,仅在前端展现上进行优化。
请参见:計算屬性
可以检查模板设置,出现不少由于模板本身设置复杂,格间运算,条件属性等导致的性能问题。
数据集优化整合,减少不必要的前台计算
减少模板里的计算
优化服务器性能
改成树数据集的方式
这种根据控件值进行过滤的效果,不要用过滤条件,改成sql的形式
总结:使用折叠树的模板,不在单元格做过多的过滤及公式计算,尽量都在数据集 sql 中进行提前计算。
总结:折叠树按钮所在单元格,尽量实际值和显示值保持一致,分开设置会大大影响性能。
删除重复的条件属性,装了性能优化插件,在数据量较少的情况下有较大优化
另外将数据过滤写到参数查询中,减少计算公式
条件属性做折叠树会传递动态参数,每次传参都会触发一次模板计算,都会重新取数;
数据多的话,比较耗时,建议用树节点按钮
总结:模板条件属性过多,或者是不使用树节点按钮,使用条件属性实现,都会造成折叠树性能下降,因此对待模板设置,使用树节点按钮+树数据集,另外去除不必要的条件属性设置。
主节点数据多,js会循环执行
建议直接展示明细表或者用数据钻取实现查询批次明细的效果
总结:用户若无一键展开需求,不推荐使用;若使用,在数据量较大时,会对折叠树性能有一定影响。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙