SQL Update一条记录长达30秒

今天我运行一个存储过程的时候,发现时间居然长达31秒

刚开始以为是服务器的问题,或者因为跨服务器访问而导致速度慢

但测试调拨单的时候,却没有发现速度慢得问题,

于是乎,我开始一条条语句进行测试,终于让我发现了问题的所在。

 

update QH_BAKEN.DB_CS.dbo.TF_POS set QTY_PS_UNSH = IsNull(QTY_PS_UNSH, 0) + @Num, QTY1_PS_UNSH = 0 where OS_ID = 'SO' and OS_NO = @OS_NO and ITM = @EST_ITM

QTY_PS_UNSH 在倍康系统中默认值就是Null,

因此为了简单,所以使用 QTY_PS_UNSH = IsNull(QTY_PS_UNSH, 0) + @Num

 

虽然找到了问题的所在,却让我冒出了一个问题来。在这个系统中 我的查询条件中有这种类似的用法

(ISNULL(B.QTY, 0) - ISNULL(B.QTY_PS, 0) - ISNULL(B.QTY_PRE, 0) - ISNULL(B.QTY_PS_UNSH, 0) - ISNULL(B.QTY_PRE_UNSH, 0) > 0)

这种用法是否也对查询效率造成比较大的影响?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值