GBase 8a Mpp Cluster集群产品性能优化篇避免大表Update

面对GBase 8a中数百亿数据的大表Update操作导致的长时间运行问题,本文探讨了优化场景。通过Insert来替代全列替换的Update方式,以提高性能并减少处理时间。同时提供了检查方法和优化建议。
摘要由CSDN通过智能技术生成

优化场景

目前GBase集群内Update采用全列替换方式,即更新字段全列数据重新组织DC形成文件(包括过滤条件匹配到和未匹配到的所有数据),替换原有全列文件。

随着业务数据积累,尤其是部分G表数据量已达数百亿,对G表执行Update操作的原意是加工增量数据,但由于全列替换的原因,造成耗时较长。

     在GDS层的业务脚本中,存在类似如下的业务流程:

     1. 执行INSERT,向目标表插入增量数据

Insert G_XXXX_ACCT_INCOME_DAY

 (

 S_DATE,

 CURR_CODE,

 ACCT_ORG,

 ACCT_NO,

 CUST_NO,

 BILL_DATE,

 INT_BNP,

 SVC_BNP,

 LATE_CHG_BNP,

 INTEREST,

 MERCH_INCOME,

 ANNUAL_FEE,

 SPLOAN_FEE,

 DELAY_FEE,

 CASH_FEE,

 OTHER_FEE,

 ALL_INCOME,

 FUND_COST

 )

 Select

 '20150505',

 curr.CURR_CODE as CURR_CODE,

 acct.ACCT_ORG,

 acct.ACCT_NO,

 acct.CUST_NO,

 acct.CARD_BILL_DATE,

 0,

 0,

 0,

 0,

 0,

 0,

 0,

 0,

 0,

 0,

 0,

 0

 From BD_XXXX_ACCT acct

 left join  g_XX_ccard_currcode curr on curr.ORI_ORG=acct.ACCT_ORG AND STARTDATE <='20140101' AND ENDDATE>='201401
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值