Lay.Li 发表于 前天 15:29

一看就会,超有用活字格技能:二百一十九、活字格最佳实践-性能

本帖最后由 Lay.Li 于 2024-11-6 15:30 编辑

设计器性能

[*]在设计器文件->设置->应用程序设置->调试中设置数据表每页显示行数,提高设计器中展示数据表的性能
[*]在设计器文件->设置->应用程序设置->调试中设置在设计器中报表预览最大显示行数,提高在设计器中预览报表的性能
[*]控制设计器中的对象数量(数据表,页面服务端命令等),虽然活字格没有限制对象的数据,但是过多的对象数量可能会导致设计器的性能问题,建议将对象数据量控制在1000以内
[*]

页面设计
页面加载

[*]如果用户使用应用是可以连接到外部网络的话,建议给应用配置CDN
[*]尽量简化页面加载时的命令,只在命令中添加必须的内容。比如,组件实现的主子表格页面,只在页面加载时命令中加载主表数据,当用户点击主表某一行时,再加载对应的子表数据
[*]尽量减小页面中使用的图片的大小以提升加载速度
[*]推荐使用流式布局来实现页面自适应,而不是使用全局拉伸模式实现页面自适应
[*]避免在一个页面中放置太多的单元格类型,如果有需要的话,可以考虑将一个页面拆分为多个子页面,可以使用选项卡去展示子页面,切换展示不同的子页面内容

组合框

[*]如果单元格要设置为只读的话,避免使用组合框去加载数据。考虑使用数据表关联去绑定展示数据(及时组合框设置为只读,组合框的数据源也会被全部加载)
[*]当数据源的数据比较多的时候推荐勾选动态加载项目
[*]对于实时性要求不是很高的数据,建议开启缓存功能,并按照实际业务需求设置缓存过期时间

选项卡

[*]如果使用选项卡展示多个页面,推荐勾选上懒加载选项(如果子页面直接不需要互相引用数据的话)

表格/图文列表

[*]如果表格或者图文列表绑定的数据源记录数比较多,建议使用分页或者查询条件来减少数据量(筛选后的数据小于2000条比较好)
[*]当绑定记录较多的数据源到表格或者图文列表时,建议先设置查询条件,再开启分页。因为分页需要先计算数据的总行数
[*]如果数据表/图文列表已经设置查询条件,则勾选上初始化不加载数据的选项(10版本之后系统已实现这个功能不推荐勾选)
[*]当表格需要关联展示非绑定表的数据时,推荐使用关联字段或者视图去实现,尽量避免在表格中使用vlookup或者odata
[*]当表格绑定记录较多的数据源时,不建议开启自动合并功能,因为这需要更长的渲染时间
[*]对于实时性要求不是很高的数据,建议勾选缓存功能。如果不同的用户需要显示不同的数据或有权限设置,不建议启用缓存



ODATA

[*]页面中使用odata过多公式会降低加载速度,建议使用设置变量命令,服务端命令,或者视图等替代



公式

[*]页面中使用的公式太多会影响页面的加载速度。建议根据实际需求使用服务端命令,视图或者其他的方法代替公式的使用
[*]与数据库操作相比,Vlooup的性能较差,不建议广泛地使用。推荐使用关联字段或者视图的方法代替vlookup公式
[*]避免无限嵌套的循环引用,比如A单元格中使用=B,B单元格中使用=C,C单元格中又使用=A,可以参考如何排除循环引用

导入/导出

[*]导出的数据量较大可能导致性能问题,建议使用服务端导出命令
[*]建议导出为CSV而不是Excel,想将于Excel,CSV只包含数据没有样式,导出的速度更快
[*]当需要导入数据到表格中时,建议表格开启松绑定,在导入完成之后,再使用提交表格命令一次性存储数据到数据库中

查询

[*]当页面的并发比较高或者数据表的数据量比较大时,如果页面中有日期查询的需求,建议使用精确的日期去查询,不建议使用日期子字段去进行查询。不如日期.年,日期.月,日期.日等。因为如果使用子字段做查询的话,见先计算日期的值去获取子字段的内容,然后再使用子字段的值做查询。当数据量很大或处于高并发状态时,就会出现性能问题。
[*]建议给要查询的列添加索引,可以进一步提高查询性能

其他

[*]避免在循环命令中使用数据表操作命令去更新数据,而是使用执行sql命令去更新数据。如果在循环命令中对内置库进行数据库操作,建议将这些操作封装在事务命令中,以显著提高性能。
[*]对背景图片,图片等资源进行压缩后再使用
[*]使用第三方工具压缩页面中使用的视频,音频等资源

服务端命令

[*]服务端命令的逻辑和编码开发是相似的,性能相对比较好。使用服务端命令中的设置变量命令从数据表中获取数据时,如果对于实时性要求不是很高,建议开启缓存
[*]避免在循环命令中去处理大量的数据(大于1000条)。如果不可避免的话,建议使用执行sql命令而不是数据表操作命令。



页: [1]
查看完整版本: 一看就会,超有用活字格技能:二百一十九、活字格最佳实践-性能