oracle千万级数据量的表关联更新
查询数据库中的锁:
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
删除锁:
alter system kill session '114,63072';
其中114对应上一条sql中的sid,63072对应上一条sql中的serial
如果删除不了,可以执行下列的sql
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=114
获取进程号,然后进入数据库的服务端,执行命令:
windows版:
C:\Users\Administrator>orakill orcl 2400
Kill of thread id 2400 in instance orcl successfully signalled.
其中:
orcl:表示要杀死的进程属于的实例名
2400:是要杀掉的线程号
linux版:
kill -9 2400(查询出的spid)
目前数据库中有两张表,根据主键ID进行关联,每张表都有2000+万的数据,其中一张表存储了大文本字段clob字段。现在要在这张大表中根据另一张表更新其中的一个时间字段,采用的方式为:
DECLARECURSOR cur ISSELECTt2.ROWID as rid, t1.ZZRQ as rqFROM CPWS_TEMP_CLY t1 ,CPWS_TEMP_WC t2where t1.ID=t2.ID AND t2.NEW_DATE IS NOT NULLORDER BY t2.ROWID; V_COUNTER NUMBER;
BEGINV_COUNTER := 0;FOR row IN cur LOOPUPDATE CPWS_TEMP_WCSET NEW_DATE=row.rqWHERE ROWID = row.rid;V_COUNTER := V_COUNTER + 1;IF (V_COUNTER >= 5000) THENCOMMIT;V_COUNTER := 0;END IF;END LOOP;COMMIT;
END;
采用临时表的形式也可以:
UPDATE (SELECTCPWS_TEMP_WC.NEW_DATE a1,CPWS_TEMP_CLY.ZZRQ b1FROMCPWS_TEMP_WC,CPWS_TEMP_CLYWHERECPWS_TEMP_WC.ID = CPWS_TEMP_CLY.ID AND CPWS_TEMP_WC.NEW_DATE IS NOT NULL
)
SET a1 = b1;
还有是可以新建一张表进行批量插入操作,no logging插入,速度也很快。但我这个测试服务器硬盘大小不够了,就没有尝试。
oracle千万级数据量的表关联更新相关推荐
- SQLServer千万级数据量多表联查优化查询记录
1.数据分区 1.1 通过时间列将大表分为多个小表,缩小数据范围,减少扫描纪录数,这样添加分区索引后存在多个B+索引,单分区查询时相对应索引树也小 1.1.1 在本地任意盘符下创建存放小表的文件 ...
- 百万级数据量,千万级数据量是多少,海量数据的优化方案
百万级数据量,千万级数据量是多少? 这里的百万级,千万级,针对数据库,指的是表的数据条数.有时也指并发事务量. 海量数据的优化方案 Note: 具体优化要结合自身的业务特性 百万级: 这个数据量 ...
- Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS S ...
- Oracle多表关联更新
这里写目录标题 Oracle多表关联更新 一.最简单的形式-单表更新 二.两表(多表)关联update -- set为简单的数据(直接是值),且仅在where字句中的连接 三.两表(多表)关联upda ...
- 玩转达梦の 多表关联更新改写
玩转达梦の 多表关联更新改写 1. 问题描述 2. DM版本差异语法 3. 准备测试数据 4. 改写方法 4.1 改写句型1: 内联子查询 4.2 改写句型2: FROM表引用关联 4.3 改写句型3 ...
- 表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段
通过表关联更新多个表多个字段 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,同时更新temp表里ename为emp表里的值,匹配条件是两个表的deptno. 解决方法 ...
- 表的插入、更新、删除、合并操作_13_通过表关联更新多个字段
通过表关联更新多个字段 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,同时更新ename为temp表里的值, 匹配条件是两个表的deptno.. 解决方法:这里通过U ...
- 表的插入、更新、删除、合并操作_12_通过表关联更新表
通过表关联更新表 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,这些员工号同时出现在在temp表中. 解决方法:这里通过UPDATE TableName SET Co ...
- MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表 有两张表,info1, info2 . info1: info2: 方式一:要用info2中的 ...
最新文章
- C的指针疑惑:C和指针8数组
- 【C++】函数缺省参数的作用
- GlusterFS架构与维护
- bzoj 3157 bzoj 3516 国王奇遇记 —— 推式子
- 3.15 排列对称串
- HDU2193-AVL-数据结构-AVL
- linux在bin下加入ssh,移植 ssh 到开发板
- 信息学奥赛一本通 1208:2的幂次方表示 | OpenJudge 2.2 8758:2的幂次方表示 | 洛谷 P1010 [NOIP1998 普及组] 幂次方
- 嵌入式中常见的存储器总结(二)SRAM VS DRAM
- android:descendantFocusability用法
- RxJS的另外四种实现方式(一)——代码最小的库
- java 我爱你_Java初级教程-课程笔记
- python之语音识别(speech模块)
- Kaldi AMI数据集脚本学习3---run_ihm.sh stage 1~3
- 性能优化,进无止境-内存篇(上)
- 上交凯原|法学大陆天花板,本外校录取比1:9,双非含量高达12% | 上海交通大学凯原法学院2022届推免大数据
- 部署k8s集群(k8s集群搭建详细实践版)
- NISP一级考试题目复习
- 威力曲面sw2020_威力曲面Power Surfacing
- shell的logo含义_45个富有深意的巧妙logo设计