大数据量怎么快速更改表的字段值AA.sn=BB.sn,CC.AA_id=AA.id,现在要求把CC.AA_id换成BB.id,请,多谢
大数据量如何快速更改表的字段值AA.snBB.sn,CC.AA_idAA.id,现在要求把CC.AA_id换成BB.id,请高手指点,谢
大数据量如何快速更改表的字段值AA.sn=BB.sn,CC.AA_id=AA.id,现在要求把CC.AA_id换成BB.id,请高手指点,谢谢 大数据量如何快速更改表的字段值AA.sn=BB.sn,CC.AA_id=AA.id,现在要求把CC.AA_id换成BB.id,请高手指点,谢谢 我有表AA,字段AA.id,AA.sn,AA.name,AA.other 表BB,字段BB.id,AA.sn,BB.name,BB.other 表CC,字段CC.id,CC.AA_id,CC.info 其中AA.sn=BB.sn,CC.AA_id=AA.id, 现在要求把CC.AA_id换成BB.id,即CC_.AA_id=BB.id,请高手指点,如何能够快速把CC.AA_id换成BB的id 因为数据量较大,数据量在200万条左右,有时执行到一半就超时了,请高手指点,谢谢!! 请各路高手指点~.~ [解决办法] 大数据量,建议采用分批次更新[解决办法] 200万不是很大啊,楼主是怎么更换的呢[解决办法]
引用: 可以提供在数据库中执行的代码吗,我是用其它程序编写sql语句的,感觉执行效率低 代码呢?快点贴出来呀
[解决办法] 引用: update cc2 set aa_id=(select id from aa where aa.sn=bb.sn) 执行下面的,然后把执行计划发出看看,另外,你是用什么程序?
set statistics profile on
Go
update cc2 set aa_id=(select id from aa where aa.sn=bb.sn)
[解决办法] 我觉得你应该可以一次性更新啊,没有必要一条条更新。
[解决办法] 引用: 我用asp写的具体如下: sql="SELECT AA.id AS Sell_ID, AA.dan_sn, BB.id AS sell2_ID " sql=sql+" FROM BB LEFT OUTER JOIN " sql=sql+" AA ON AA.dan_sn = BB.dan_sn " sql=sql+" where AA.id<439765 " sql=sql+" ORDER BY BB.id asc " conn.CommandTimeout=10000 rs.open sql,conn i=0 while not rs.eof i=i+1 if i mod 20=0 then response.write "<br>" end if sql=sql+";update CC set send_id="&sqlstr(rs("sell2_ID"))&" where send_id="&sqlstr(rs("sell_id")) response.write rs("sell2_id")&"::" conn.execute sql rs.movenext wend rs.close
还是把你这些业务逻辑 写在存储过程里面把
[解决办法] UPDATE C
SET C.send_id=BB.id
FROM BB LEFT OUTER JOIN
AA ON AA.dan_sn = BB.dan_sn
INNER JOIN CC C
ON CC.send_id=AA.id
WHERE AA.id<439765
SORRY,我没有测试。