在业务时间对表进行大数据量的插入与更新操作

本来以及写好的一篇总结,结果在编辑的时候丢失了,有点郁闷,重新写一次吧, 权当排版 囧...。

   在维护数据的时候,免不了要对表进行大数据量的插入,更新操作。如果数据量特别大,比如上300,000 条数据的更新的时候,只能在非业务时间进行。在金融行业,最常见的操作是对客户资料进行更新,而在数据维护工作中,对数据进行清理(比如由于程序原因而带 入^M等字符)等操作也比较频繁。在这些操作,如果在业务时间进行,会涉及一个锁表的问题,严重影响客服业务。有什么方法可以避免锁表而且可以不用加班摸 黑进行?
方案一:
1 建临时表       
 

create table tmp_a

2 加载要更新的数据

load from a. sql insert into tmp_a

3 建立索引

create index idx_a_1 on tmp_a(1)

4 设置脏读模式

set isolation to dirty read;

5 update 之

update a
set ( a1, a2, . . . ) = ( (
select a1, a2, . . . . from tmp_a
where tmp_a. p = a. p
) )
where exits( select * from a
where a. p = tmp_a. p
)

方案二:

使用excel 的函数功能 定义update的字符串 然后保存成upd.sql 执行之.

1.1 点excel的一个空白表格,在函数定义那里输入以下代码

= "update cntr_basic_state set ipsn_grp =" & F1& " where cntr_id = " & I1& " and ipsn_no = " & H1& "" & ";"

1.2 下拉形成对应的update语句 保存成tmp.sql

1.3 执行之

>isql -s dtabase < tmp.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值