今天做这样的一个东西
Update TableA set Id=(select b.Id from TableA a,TableB b where a.Num=b.Num);Update 40w条数据,花了接近10分钟然后做了一条这个
Update TableA set Time=(select b.Time from TableA a,TableB b where a.Id=b.Id);
也是40w...花了10秒钟why...两个Update的过程很相像
是否是第一次Update时Sql Server建立了一个路径之类的东西导致第二次很快?或者能否说说有些什么方法可以提高Update的效率?
Update TableA set Id=(select b.Id from TableA a,TableB b where a.Num=b.Num);Update 40w条数据,花了接近10分钟然后做了一条这个
Update TableA set Time=(select b.Time from TableA a,TableB b where a.Id=b.Id);
也是40w...花了10秒钟why...两个Update的过程很相像
是否是第一次Update时Sql Server建立了一个路径之类的东西导致第二次很快?或者能否说说有些什么方法可以提高Update的效率?
update A
set
ID=B.ID
from
TableA A,TableB B
where
A.Num=B.Num
set a.Id=b.Id
from
TableA a,TableB b
where
a.Num=b.Num這樣寫效率應該高一點
其次是你的写法也确实有问题,楼上正解!!