- SQL code
SELECTB.TB015, --预计领料D.AE004 --计划开始--UPDATE [192.168.90.15].YY.dbo.MOCTB --SET TB015 = D.AE004FROM[192.168.90.15].YY.dbo.MOCTA AS A,[192.168.90.15].YY.dbo.MOCTB AS B,[192.168.90.15].YY.dbo.CMSMW AS C,APSMERP AS DWHEREA.TA001=B.TB001ANDA.TA002=B.TB002ANDC.MW001=B.TB006ANDA.TA006=D.AE001 Collate Chinese_PRC_CI_AS ANDC.MW002=D.AE002 Collate Chinese_PRC_CI_AS ANDB.TB003=D.AE003 Collate Chinese_PRC_CI_AS ANDA.TA006 IN (select DISTINCT CD001 from [192.168.90.15].YY.dbo.APSCODE)ANDA.TA011<>'Y'ANDA.TA011<>'y'ANDA.TA013='Y'ANDB.TB004 - B.TB005 >0
上边语句执行查询速度很快
但是执行UPDATE时速度出奇的慢
- SQL code
UPDATE [192.168.90.15].YY.dbo.MOCTB SET TB015 = D.AE004FROM[192.168.90.15].YY.dbo.MOCTA AS A,[192.168.90.15].YY.dbo.MOCTB AS B,[192.168.90.15].YY.dbo.CMSMW AS C,APSMERP AS DWHEREA.TA001=B.TB001ANDA.TA002=B.TB002ANDC.MW001=B.TB006ANDA.TA006=D.AE001 Collate Chinese_PRC_CI_AS ANDC.MW002=D.AE002 Collate Chinese_PRC_CI_AS ANDB.TB003=D.AE003 Collate Chinese_PRC_CI_AS ANDA.TA006 IN (select DISTINCT CD001 from [192.168.90.15].YY.dbo.APSCODE)ANDA.TA011<>'Y'ANDA.TA011<>'y'ANDA.TA013='Y'ANDB.TB004 - B.TB005 >0
这种情况的原因是什么?
该如何解决?
------解决方案--------------------
查询结果集多少?
还有那表有触发器或者级联的关系么?还有特别的索引维护么?
更新相对查询来说一般都慢。