远程数据库的表插入本地更新解决
需要调用远程数据库的几张表,发现这几张表某几个字段没有加索引,调用查询很慢慢.
于是把这几张表全部数据拷贝放入本地数据库中的同名表中,再加上索引,即解决了数据查询速度的问题.
方法: 第一次,create table 本地表 as select * from 远程表;
再对本地表创建对应的几个字段的索引.
问题:
由于远程表数据每天都有新增更新数据,希望保持3天更新一次.远程表数据大约在300W左右,其中一张表由2000多W数据,
我的办法:(1)truncate table 本地表; (2) insert into 本地表 select * from 远程表; 但是真正实行起来速度太慢了,特别是本地表已经创建了索引,重新插入速度太慢,耗内存,耗临时表空间
请问碰到这种方法,该如何解决????
[最优解释]
采用触发器或物化视图,如果是物化视图,并不是时时的更新,有更新频率的,把refresh fast next..的值设置短一些,则会接近时时更新,具体用法baidu搜下
你现在的处理方式应是作业处理的吧?
[其他解释]
merge into 本地表。
[其他解释]
你的方法没问题,truncate之后 禁用索引,数据过来之后再rebulid 索引。。
[其他解释]
要么你本地再建一个表,每天同步一次,然后第三天的时候 从这个表把数据同步到你的正式表中,把工作消化在平时。。。。