问题现象: |
客户月末进行存货核算记账和恢复记账时速度特慢,记价方式为:移动平均法, 按仓库记账. 客户电脑配置: IBM服务器, CPU为:致强 2.7G 内存:1G 在断开网络的情况下测试将6条记录进行记账所需时间为: 17秒左右,测试423条记录所需时间为:46分钟左右 该速度实在是影响客户的操作效率,打了支持网站上的补丁后问题仍然存在,请集团给予支持,尽快解决该问题。 |
问题原因: |
原因分析: 在用户数据库的收发记录子表rdrecords上人为添加了触发器『abc』,但记帐操作涉及回写收发记录子表,即对rdrecords表存在update操作,从而触发器生效。 对触发器分析: 人为添加的触发器如下 CREATE TRIGGER [abc] ON [dbo].[RdRecords] FOR INSERT, UPDATE AS update rdrecords set rdrecords.cdefine23=xl_rd_z.remark from rdrecords,xl_rd_z,rdrecord where rdrecords.autoid=xl_rd_z.autoid and (rdrecords.cdefine23 is null or rdrecords.cdefine23=null) and rdrecord.cvouchtype='11' 存在如下问题: 只要对rdrecords表有insert、update操作,均会触发该触发器,且对符合条件的所有记录均进行update更新操作!从而导致大量无意义的重复更新操作! |
解决方案: |
问题处理: 在用户数据库的收发记录子表rdrecords上人为添加了触发器『abc』,导致记帐效率低。删除该触发器,进行记帐操作,2000多条记录几分钟即可完成。 注意事项: 对于触发器的使用,请先参考sql联机帮助,了解一下inserted、deleted表的功能、使用方法。 不建议或尽量避免对用户数据库添加触发器、修改存储过程、及现有数据库、表结构,以免影响产品正常功能使用。 |
相关补丁: |
|
版本: |
8.60sp |
模块: |
存货核算 |
产品: |
U860SP----存货核算 |
问题名称: |
存货记账和恢复记账速度特慢,效率太低 |
最后更新: |
2005-11-28 00:00:00 |