ERP项目实施和运维过程中经常能遇到用户抱怨速度比较慢的问题。速度慢体现在各种地方, 功能慢、工作流慢、报表慢、系统死锁等各种各样的现象。 解决过程中也没有一个统一的思路去解决慢的问题, 所以往往需要根据业务场景特事特办来进行项目优化。下文中会提及部分常见的问题,根据问题归纳一些常见的性能优化思路, 由于文章篇幅的原因, 不会对每个故事详细展开。
常见问题:
1. 查询窗体慢
2. 报表打开慢
3. 功能窗体打开慢
4. 运行某些功能慢
从以上几点问题看,性能问题涵盖了ERP的方方面面。分析原因后,我总结出如下几类
1. 大量使用Display方法,方法中有While 套用While情况
2. 多表查询的时候, 先Join,后增加条件
3. While Select语句使用的时候,对象运行在客户端,导致客户端,服务器端来回不停的交互
4. 锁表范围过大
5. 对业务场景理解不深,直接按照顾问的描述进行编写
6. 不遵守最佳实践
先给大家列举几个例子,然后再写解决方案。
案例一、Display使用的案例,我曾接触过一个项目,开发人员为了方便,在销售订单窗体上增加了10多个Display方法,每个方法都是While 套wihile, 导致用户打开一个销售订单窗体都需要5分钟以上。 问题分析:对Display方法Debug过的朋友都知道,只要鼠标动一动,Display就会触发,只要有刷新,Display也会跟着刷新。所以可以得出结论,Display方法被调用是比较频繁的。基于这个理论, 窗体上不应该大量出现Display方法,尤其时Display方法中有大量查询的时候。解决办法也就相对简单了,使用实体字
Dynamics AX 性能优化
最新推荐文章于 2020-08-19 14:50:29 发布