未修改不更新
1. 描述
填报提交时,将根据情况进行insert/update操作,当填报列数较多时,速度可能较慢,因为他要对所有字段进行操作。此时可以设置单元格不改变时不参与更新,这样,相应的数据列在数据不改变时,不会参与更新操作,即SQL语句中update中不包含该列,进而提高填报的效率。但这个功能只有在填报更新数据的时候有效,如果是插入操作的话仍是插入所有字段,因此需要在使用报表主键的的基础上使用该功能。
2. 示例
2.1 设置未修改不更新
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm1.cpt,点击模板>报表填报属性,勾选
标签前面的勾选框,如下图:注:只有填报属性中绑定的字段的值都为单元格的时候才勾选该选项,如果某个字段值为公式或其他,该选项不可勾选,即未修改不更新只适用于所有字段值均为单元格的情况。
2.2 日志结果分析
如下图修改牛奶的再订购量为30,点击提交。
注:查看以下日志,需在文件>选项>高级中,将log级别设置切换为DEBUG模式。
1)设置了未修改不更新
此时后台执行的update语句为:
可以看到,数据库只更新了再订购量改变了所在行的数据,其他行都没有改变。
2)不设置未修改不更新
此时后台执行的update语句为
可以看到,数据库分别对每行数据都进行了更新。
由上可见,对于大数据量、少部分修改的填报表,设置了未修改不更新将大大提高填报的效率。
注:未修改不更新是指针对于web端单元格中数据是否有改变(如果web端单元格中数据变化了,单元格左上角会出现红色三角形标志),并不是去数据库中匹配数据是否变化。
3. 相关问题
附件列表
主题: 填报应用
标签:
已验证