额 结完贴发现还有问题。。 顶楼里的图片的语句是: update a set a.cuks=isnull(a.cuks,0)+isnull(b.cuks,0) from ##tmptiaozkcdp a join (select gfrom,code,colorid,xsize,sum(amount) as cuks from g_billd_xs_pos d inner join g_billm_xs_pos m on d.scripno=m.scripno where (ioflag=6 ) and gfrom=@shopid and iodate>@iodate group by gfrom,code,colorid,xsize) b on a.n_leix=1 and a.shopid=b.gfrom and a.code=b.code and a.colorid=b.colorid and a.xsize=b.xsize为什么会出现4次循环嵌套连接? 我记得oracle里sql语句里的一个join在执行计划里就只有一个NL连接啊 ##tmptiaozkcdp = 3000行, b=30行, 那b结果集肯定要作为inner set, inner set都是在图形下方, 那这个执行计划看起来没错啊 为什么实际上一执行就卡住几分钟出不来结果。。
额 结完贴发现还有问题。。
顶楼里的图片的语句是:
update a set a.cuks=isnull(a.cuks,0)+isnull(b.cuks,0) from ##tmptiaozkcdp a
join (select gfrom,code,colorid,xsize,sum(amount) as cuks from g_billd_xs_pos d inner join g_billm_xs_pos m on d.scripno=m.scripno
where (ioflag=6 ) and gfrom=@shopid and iodate>@iodate group by gfrom,code,colorid,xsize) b
on a.n_leix=1 and a.shopid=b.gfrom and a.code=b.code and a.colorid=b.colorid and a.xsize=b.xsize为什么会出现4次循环嵌套连接? 我记得oracle里sql语句里的一个join在执行计划里就只有一个NL连接啊 ##tmptiaozkcdp = 3000行, b=30行, 那b结果集肯定要作为inner set, inner set都是在图形下方, 那这个执行计划看起来没错啊 为什么实际上一执行就卡住几分钟出不来结果。。