oracle将一个表数据更新时间,Oracle批量更新,将一个表的数据批量更新另一表

【问题】现在有两个千万级别的结构相同数据不同数据表T_SMS_PHONENO(目的表),T_SMS_PHONENO2(源表),根据源表数据更新目的表的数据。

【分析】根据经验,更新方法一般有以下几种:

1、直接update。

update T_SMS_PHONENO T Set    T.NAME=(select NAME from T_SMS_PHONENO2 where PHONENO=T.PHONENO)

2、采用分条更新。根据记录ID逐条更新。

open cur is select phoneno,name from T_SMS_PHONENO;

loop

fetch cur in v_pn,v_name;

update T_SMS_PHONENO T set T.NAME=v_name where v_pn=T.phoneno;

exit when cur% notfound;

end loop

3、采用分批次更新。将数据按表分区字段或其他字段依次进行分批次更新。

open cur is select region from T_SMS_PHONENO group by region;

loop

fetch cur in v_region;

update T_SMS_PHONENO T set T.NAME=(select name from T_SMS_PHONENO2 where phoneno=T.Phoneno) where T.region=v_region;

exit when cur% notfound;

end loop

4、虚拟一张表,唯一关联后进行更新。

update (select  T.name,T2.name name2 from T_SMS_PHONENO T,T_SMS_PHONENO2 T2 where T.phoneno=T2.phoneno) set name=name2;

5、Create 一张新表后进行更新。

create table TEMP_SMS_PHONENO as select * from T_SMS_PHONENO T,T_SMS_PHONENO2 T2 where T.phoneno=T2.phoneno;

生成新表,然后重命名表为T_SMS_PHONENO

【结论】

1、对于大表的更新如果采用直接update语句,则会直接产生大量回滚,并且时间很长,出现假死现象。

2、1小时。

3、30分钟。

4、2分钟。

5、30秒,因为不产生redo,undo动作,insert语句会很快。

如果存在唯一性关联字段的话,则采用第四种方法更新,是很快的,如果不存在唯一关联字段则需要分批次更新,或者create 个新表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几级工作台做石头高墙_创造与魔法:建筑新手入门攻略,家园建材怎么做

hello大家好,又见面啦,我是创造与魔法郁金香建筑团的建筑师,九梨梨众所周知,我是一个热衷于出各类建筑案例的人,玩创魔两年多,做了好几十个不同款式的家园吧。其实创魔这个游戏,建筑只是其中一个…

oracle vitu,Supply Chain Management (SCM) a Manufacturing | Oracle Česká Republika

Nebyly nalezeny ždn vsledkyVašemu vyhledvn neodpovdaj ždn vsledky.Abyste našli to, co hledte, doporučujeme vyzkoušet nsledujc postup:Zkontrolujte pravopis vašich klčovch slov ve vyhledvn.Použijte synonyma pro klčov slovo, kter jste zadali, napřk…

python程序文件是什么_.py文件是什么?

展开全部.py文件是python的脚本文件。Python在执行时,首先会将.py文件中的62616964757a686964616fe59b9ee7ad9431333431363039源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机…

oracle12 快照保存时间,【AWR】调整AWR数据采样时间间隔及历史快照保留时间

1.AWR默认的采样间隔和历史快照保留时间默认是保留七天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得。sysora10g> col SNAP_INTERVAL for a20sysora10g> col RETENTION for a20sysora10g> select * from dba_hist_wr_control…

两步路轨迹文件位置_最新Uber ATG的轨迹预测方法LiRaNet介绍

arXiv今年10月刚刚上传论文“LiRaNet: End-to-End Trajectory Prediction using Spatio-Temporal Radar Fusion“。其特色在于,除了激光雷达和HD Map之外,该轨迹预测方法采用了雷达传感器的信息。雷达和激光雷达融合是有挑战性的,因为前者的低…

python解方程时 怎样变换系数批量解方程_python求解方程

最有效的求解方法:三行代码搞定任何线性方程云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!在三行函数中解决任何线性方程式的技巧,甚至可以在两行代码…

linux查看目录下 开头,Linux下ls如何看到.开头的文件

Linux下ls查看到.开头的文件方法:ls -aLinux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界…

python3.7代码转python2.7_Python3.7与Python2.7在centos7下兼容并存

原标题:Python3.7与Python2.7在centos7下兼容并存1、下载python3.7wget "https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz"2、解压下载好的压缩包tar -zxvf Python-3.7.0.tgz3、配置编译python3.7mkdir /usr/local/python3 cd Python-3.7.0 ./…

linux红帽密码复杂度,[步骤] Linux 密码策略的设置(设置密码复杂度)(CentOS8RHEL8 版)...

步骤目录:步骤一:设置密码必须包含大小写字母等策略1.1 生成设置密码必须包含大小写字母的策略文件1.2 设置密码必须包含大小写字母等策略步骤二:设置密码有效期等策略步骤三:设置新密码不能和旧密码重复的策略具体的操作步骤&…

增值电信服务费是什么意思_增值电信业务IDC许可证要年检吗,流程是什么

据国家相关法律法规,持有IDC许可证的企业每年年初都需要办理IDC年检,企业也应当重视IDC年检,否则将会面临惩罚,所以小编来给大家介绍云南IDC许可证年检流程。为什么要办理云南IDC许可证年检,如何办理?根据《中华人民共和国电信条…

linux查看进程调用接口,查看某个程序都调用哪些api函数

查看某个程序都调用哪些api函数以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!查看某个程序都调用哪些api函数vs6里带了个工具叫depends可以看反汇编软件w32dasm也可以希望能帮到你windows编…

linux生产上线工具,Linux 产能工具及其使用技巧

由于生产力本身是一个主观术语,我不打算详细解释我这里要讲到的“生产力”是什么。我打算给你们展示一些工具及其使用技巧,希望这会帮助你在Linux中工作时能更专注、更高效,并且能节省时间。Linux产能工具及其使用技巧再次说明,我…

python编译2的n次方计算器_用PYTHON2做个计算器,哪位高手能用Python写出计算器的代码,需要加减乘除和退出,谢谢!...

匿名用户 1级 2018-06-05 回答 粗略的写了一个,没有包含对输入的检查。 # coding: utf-8 计算器 operator = {a: [a for addition,+], b: [b for subtraction,-], c: [c for multiplication,*], d: [d for division,/], z: [z for exit,None] } def DisplayOperationMenu():…

linux 2.6.35 内核配置 usb,Linux 2.6.24.4移植到S3C2410(nano2410)之:USB

Linux 2.6.24.4移植到S3C2410(nano2410)之:USB【平台信息】目标板(Nano2410)------------------------CPU: S3C2410XSDRAM:HY57V561620(32MB)FLASH: K9F1208(64MB)NET: CS8900HOST---------------------------------------Linux Realse Version:Fecora Cor 8 (FC8)C…

现代汉语词典第五版_从现代汉语词典“哀兵必胜”词条说起

本文属本公众号原创。想转发可以后台留言,别洗我们的稿!最近,编校一姐一直在研读《现代汉语词典》(第7版),将会陆续发布学习心得。今天,说一说“哀兵必胜”词条。第一版第五版第六版第七版故抗兵相若(加),(…

linux通讯录软件带头像,小程序新技能 Get!保存微信好友头像到手机通讯录

原标题:小程序新技能 Get!保存微信好友头像到手机通讯录亲爱的朋友,你知道来电时能看到好友的头像是一种怎样的体验吗?你是否注意过这样一件事:每当打开自己的微博、微信等社交软件,除了扑面而来的信息流之…

linux vmware硬盘,给vmware的Linux虚拟机增添硬盘

给vmware的Linux虚拟机添加硬盘1、先将虚拟机Power Off,在Virtual Machine Setting对话框里点击左下角的“Add”,选择“Hard Disk”,之后选择“Create a new virtual disk”,分配容量,其他默认配置就可以了。2、启动虚…

dqn系列梳理_系列论文阅读——DQN及其改进

DQN作为DRL的开山之作,DeepMind的DQN可以说是每一个入坑深度增强学习的同学必了解的第一个算法了吧。先前,将RL和DL结合存在以下挑战:1.deep learning算法需要大量的labeled data,RL学到的reward 大都是稀疏、带噪声并且有延迟的(…

linux进入mongodb数据库命令,MongoDB 常用数据库命令,命令是如何工作的这里

MongoDB 常用数据库命令,命令是如何工作的这里mongoDB提供了广泛的数据库命令,除常用的create,read,update,delete之外所有功能。命令是如何工作的这里有个你比较熟悉的例子:drop,如果从Shell里删除一个collection,我们运行db.test.drop().实际上&#x…

db2 语句包括不必要的列表_DB2的一些常用SQL写法(转)

-- 创建一个自定义单值类型create distinct type var_newtypeas decimal(5,2) with comparisons;-- var_newtype 类型名-- decimal(5,2) 实际的类型-- 删除一个自定义单值类型drop distinct type var_newtype;-- 创建一个自定义结构数据类型create type my_type as(username …