在一个已有系统上做外网系统,考虑到服务器压力或者没有条件直接连接已有系统的数据库。需要弄一个中间库在特定时间进行业务数据的同步。需要注意的写法
INSERT INTO sy_api_c_meter
(task_id, meter_id, .... .)
SELECT in_task_id, meter_id,.. ..
FROM c_meter a, c_mp b, c_meter_mp_rela c
WHERE a.meter_id = c.meter_id
AND b.mp_id = c.mp_id
AND b.cons_id = v_cons_id
AND b.org_no = v_org_no
上面的sql中select 查询语句没有性能问题,分区条件和索引都能走上,但是在一起执行insert 时就会很卡。这是刚开始写过程时会犯的错误。应该使用游标,修改结果如下:
FOR cur IN (SELECT c.meter_id
FROM c_mp b, c_meter_mp_rela c
WHERE b.mp_id = c.mp_id
AND b.cons_id = v_cons_id
AND b.org_no = v_org_no)
LOOP
INSERT INTO sy_api_c_meter
(task_id, meter_id, inst_loc,....)
SELECT in_task_id, meter_id, ....
FROM c_meter a
WHERE a.meter_id = cur.meter_id;
END LOOP;
在实际操作中对表数据的批量操作,循环操作的速度要快很多。
分享到:
相关推荐
oracle数据库客户端的中间连接以及配置 plsql配置连接数据库的文件 oracle数据库客户端的中间连接以及配置 plsql配置连接数据库的文件oracle数据库客户端的中间连接以及配置 plsql配置连接数据库的文件oracle数据库...
Python实现两个Oracle数据库同步工作
内容涉及oracle 12的容器数据库,可插入数据库,目前只做了DML的数据同步(不含ddl的同步)
一个mysql数据库数据同步至oracle数据库代码,同时修改mysql数据表标识。
简单配置后将oracle数据同步到elasticsearch数据库中
oracle数据库同步perl脚本示例 其中有2个文件,一个是 perl同步脚本,另一个是存储过程; 大致思路是:perl脚本从数据库A同步数据至库B的临时表中,再通过存储过程将库B中的临时数据过滤导入正式数据当中。
两个Oracle 数据表同步,只是使用两个不同Oracle 数据的某些表保持数据相同.也许你能用到.
Oracle数据库JDBC中间jre驱动间,数据库原版Ojdbc5-6.rar
oracle 知识库oracle 知识库oracle 知识库oracle 知识库oracle 知识库oracle 知识库
ORACLE实时同步技术之streams
基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术。Oracle自己的同步技术有DataGuard,Streams,Advanced Replication和今年刚收购的一款叫做...
Oracle同步数据到Sql Server,只是初始加载过程,由于本人也是在学习阶段,本资料主要是用于备份,慎入!
Oracle 白皮书 ADG 同步复制技术.
oracle数据同步方案与实现.docx
3、通过datax同步oracle相关-oracle到hdfs 网址:https://blog.csdn.net/chenwewi520feng/article/details/130508968 介绍oracle的相关同步,oracle同步到hdfs中示例以及验证
SpringBoot定时任务实现Oracle和mysql数据同步
分别有:数据源配置、数据表结构转换、字段更新、数据迁移、根据oracle SQL的UPDATE DELETE 事物执行记录转为Mysql可执行SQL,同步执行到MySql数据库,此项目为个人兴趣爱好练手项目,项目问题欢迎留言,共同进步...
oracle cdc同步模式 step by step实例的实验过程记录
当前oracle_goldengate官方网站不再提供windows_oracle_12.2.0版本,可下载当前版本进行配置oracle11G,以及oracle12C