1. 性能规范

    1. 查询数据,对于数据量较大的查询,一定要用分页组件,分页组件结合pd.getPagination()实现,对于数据量很大的查询,就算做了分页,但由于数据量大统计总数量也会非常慢,这种情况下,一定要设置分页组件为NavBar needCount="false"结合pd.getPagination(false)来实现。
    2. 导出数据,对于数据量大的数据导出,一定要用批量分页方式导出,即最后一个参数必须为new Pagination(true),如:
      IDataset dataset = bean.queryVipcusts(pd, pd.getData("cond", true), new Pagination(true));
      ExcelParser.exportExcel(pd, "examples/basic/VipcustList.xml", "VIP客户资料列表.xls", new IDataset[] { dataset });
      
    3. 数据翻译缓存,对于getStaticValue(pd, table_name, key_name, value_name, value)方式获取翻译值时,如果在查询列表(循环)中用到这个方法,必须将table_name配置到缓存表中,目前一些公共表已经缓存,可以参看ehcache_wadelib.xml。
    4. 对于大的批量数据操作方式,需要配置成后台任务或事件流(后台运行方式),这样可以更好的控制用户重复操作,只需到执行进度中查看执行的情况。
    5. 对于大的批量更新数据,尽量采用分批commit方式,避免游标树过大,不要一次commit,导致数据库锁死。
  2. 稳定性规范

    1. session数据存放,不允许以任何方式往session中存放业务数据,session只能存放一些员工信息、权限信息等。
    2. 不允许引入JavaScript树等JavaScript组件,否则容易导致客户端不稳定或者慢。
    3. 数据库连接的操作,不允许程序中自定义数据库连接,也不允许操作pd.rollbackConnections()、pd.cleanupConnections()等方式来回滚或提交连接,但还是可以获取连接做手工commit方式,如pd.getDBConn().commit()