本帖最后由 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命令而不是数据表操作命令。
|
|