asp网站开发的背景与环境,小程序开发工具有哪些,wordpress简化评论,wordpress 文章系列插件【问题】现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表)#xff0c;T_SMS_PHONENO2(源表)#xff0c;根据源表数据更新目的表的数据。【分析】根据经验#xff0c;更新方法一般有以下几种#xff1a;1、直接update。update T_SMS_PHONENO T Set T.NA…【问题】现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表)T_SMS_PHONENO2(源表)根据源表数据更新目的表的数据。【分析】根据经验更新方法一般有以下几种1、直接update。update T_SMS_PHONENO T Set T.NAME(select NAME from T_SMS_PHONENO2 where PHONENOT.PHONENO)2、采用分条更新。根据记录ID逐条更新。open cur is select phoneno,name from T_SMS_PHONENO;loopfetch cur in v_pn,v_name;update T_SMS_PHONENO T set T.NAMEv_name where v_pnT.phoneno;exit when cur% notfound;end loop3、采用分批次更新。将数据按表分区字段或其他字段依次进行分批次更新。open cur is select region from T_SMS_PHONENO group by region;loopfetch cur in v_region;update T_SMS_PHONENO T set T.NAME(select name from T_SMS_PHONENO2 where phonenoT.Phoneno) where T.regionv_region;exit when cur% notfound;end loop4、虚拟一张表唯一关联后进行更新。update (select T.name,T2.name name2 from T_SMS_PHONENO T,T_SMS_PHONENO2 T2 where T.phonenoT2.phoneno) set namename2;5、Create 一张新表后进行更新。create table TEMP_SMS_PHONENO as select * from T_SMS_PHONENO T,T_SMS_PHONENO2 T2 where T.phonenoT2.phoneno;生成新表然后重命名表为T_SMS_PHONENO【结论】1、对于大表的更新如果采用直接update语句则会直接产生大量回滚并且时间很长出现假死现象。2、1小时。3、30分钟。4、2分钟。5、30秒因为不产生redoundo动作insert语句会很快。如果存在唯一性关联字段的话则采用第四种方法更新是很快的如果不存在唯一关联字段则需要分批次更新或者create 个新表。