使用的oracle10g数据库
请看下面的sql语句,从早上11点执行到晚上9点还没执行完
update chenqi_res_tp t set t.PTPID=(select t2.uuid from res_tp t2 where t.PARAM=t2.REMARK);
commit;
然后我们看看insert
insert into res_tp_end(UUID,TPNAME,USERLABEL,PTPID,MEID,EQUIPMENTID,PROFESSIONALTYPE,EDGEPOINT)
select SE_RES_TP_END.nextval,t2.tpname,t2.userlabel,t2.uuid,t2.meid,t2.equipmentid,t2.professionaltype,t1.uuid
from chenqi_res_tp t1, res_tp t2 where t1.param=t2.remark;
commit;
5-7分钟就执行完了
数据量大概是100w条
由此我们可以在大数据量操作时将复杂sql语句转化为简单sql语句分次执行,执行完就commit,效率快很多,同时少用update,特别是多表关联的update,将需要update的数据插入另外的表然后再插回来效率高很多倍。
posted on 2007-03-18 21:37
陈琪 阅读(6078)
评论(1) 编辑 收藏 所属分类:
java