表A id ,usedspace
表B resourceId,filesize条件 表A.id = 表B.resourceId符合条件的表B可能有多条数据也可能是0条数据现在要把 符合条件的表B中的fileSize 更新到 表A的 usedspace字段中
之前的脚本在几万条数据的时候还好用,但是数据一上了几十万上百万的时候就发生死锁,请问怎么处理啊。这种批量的更新用什么方式效率会高? 小白一个,麻烦大神们多写点。。
表B resourceId,filesize条件 表A.id = 表B.resourceId符合条件的表B可能有多条数据也可能是0条数据现在要把 符合条件的表B中的fileSize 更新到 表A的 usedspace字段中
之前的脚本在几万条数据的时候还好用,但是数据一上了几十万上百万的时候就发生死锁,请问怎么处理啊。这种批量的更新用什么方式效率会高? 小白一个,麻烦大神们多写点。。
解决方案 »
- oracle中含clob字段的数据表同步问题
- 从oracle中取出的字段后面有很多空格!!
- 关于java与oracle存储过程之间的问题
- 我这个怎么解决好啊?用触发器还是用程序解决?
- 急问:在ORACLE数据库的视图v$archived_log里,为什么会出现stby1这行记录
- 大家在建数据库时是怎么处理地址字段的?是作为一个字段还是多个字段?
- 请问怎样把ACCESS数据库导入到ORACLE中?
- ORACLE 中的日期、时间格式
- 怎么样在程序中调用oracle里的存储过程
- OracleBulkCopy数据重复导致索引失效
- oracle 12c rac public ip建立连接抛出“The Network Adapter could not establish the conn”
- 利用存储过程自动更新数据库
更新的频率要求是什么,多长时间更新一次。
b表的filesize多长时间变化一次。
merge into AA
using(select bb.resourceid,bb.filesize from BB) s
on (aa.id = s.resourceid)
when matched then
update set aa.usedspace = s.filesize;
commit;用merge的话,应该百万也不至于死锁吧。速度还挺快的。弄个测试环境用实际数据测试下。