结账后出纳模块保存和删除记录很卡
金蝶云社区-Famber
Famber
0人赞赏了该文章 323次浏览 未经作者许可,禁止转载编辑于2019年06月05日 08:47:02
客户使用环境为WIN7旗舰版+SQL2008,软件版本专业版13.0.上个月出纳结账之前使用正常,结账之后出纳模块保存和删除非常慢,一条记录需要差不多3分钟,反结账到上期尝试操作依然很卡,但是同时该账套别的模块操作一切正常。系统日志已经清理过,服务器上别的账套没有问题,在这个有问题的账套换用户名也是一样的问题。追踪数据库运行发现下面这个语句执行时间长达2分多钟。请教各位高手此问题怎么解决啊?update cn_xjrjz set fvoucherid=vch.fvoucherid
from cn_xjrjz r inner join
(select v.*,g.fname as fgoupname from t_voucher v left outer join t_vouchergroup g on v.fgroupid=g.fgroupid) vch
on r.fvchyear = vch.fyear and r.fvchperiod = vch.fperiod and r.fgroup = vch.fgoupname and r.fnum = vch.fnumber
update cn_yhrjz set fvoucherid=vch.fvoucherid
from cn_yhrjz r inner join
(select v.*,g.fname as fgoupname from t_voucher v left outer join t_vouchergroup g on v.fgroupid=g.fgroupid) vch
on r.fvchyear = vch.fyear and r.fvchperiod = vch.fperiod and r.fgroup = vch.fgoupname and r.fnum = vch.fnumber
update t_voucher set FIsDailyAccount=1
from t_voucher v inner join
(
select distinct fvoucherid from cn_xjrjz where fvoucherid>0
union
select distinct fvoucherid from cn_yhrjz where fvoucherid>0
) r
on v.fvoucherid = r.fvoucherid where (v.FIsDailyAccount<>1 or v.FIsDailyAccount is null)
update t_voucher set FIsDailyAccount=0
where FIsDailyAccount=1 and fvoucherid not in (select fvoucherid from
(
select distinct fvoucherid from cn_xjrjz where fvoucherid>0
union
select distinct fvoucherid from cn_yhrjz where fvoucherid>0
) r)