a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle數(shù)據(jù)庫更新大批量數(shù)據(jù)案例

2024-08-29 14:01:17
字體:
供稿:網(wǎng)友

更新大批量數(shù)據(jù)的背景:

用戶需要將VIP的微信標(biāo)識,傳給用戶的ERP會員檔案中,已知存量數(shù)據(jù)約50W行數(shù)據(jù),線下的微信標(biāo)識數(shù)據(jù)我們開發(fā)提供了openid和erpid的csv文件,erpid和線下的會員檔案id對應(yīng),需要將openid也更新到會員檔案里。

更新數(shù)量大致分為兩大步驟 

一、將我們要更新的數(shù)據(jù)源導(dǎo)入數(shù)據(jù)庫內(nèi),需要創(chuàng)建臨時表,將數(shù)據(jù)傳入臨時表 
二、寫游標(biāo),將臨時表內(nèi)的數(shù)據(jù)與需要更新的數(shù)據(jù)進(jìn)行更新

1.將csv文件里面的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫臨時表中,先創(chuàng)建臨時表

create table vip_openid(erpid number(10), openid varchar(200))

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

2.臨時表創(chuàng)建后,將cvs文件里的數(shù)據(jù)導(dǎo)入表中,在這里我們選擇工具>文本導(dǎo)入器 

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

選擇要導(dǎo)入的csv文件,注意csv文件的表字段和數(shù)據(jù)庫表字段對應(yīng) 

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

選擇文件后在界面將會預(yù)覽導(dǎo)入的數(shù)據(jù) 

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

3.點(diǎn)擊到oracle的數(shù)據(jù),選擇導(dǎo)入的表,先選擇用戶名,用戶名下的表名,然后選擇表與csv文件表字段對應(yīng)關(guān)系,我們選擇導(dǎo)入,可以看到提示導(dǎo)入完成。

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

4.接下來就是對會員表和臨時表的數(shù)據(jù)關(guān)聯(lián)更新,我們先使用直接update方式進(jìn)行更新試驗(yàn),該方法只更新5W數(shù)據(jù),耗時12分鐘左右:

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

于是參考百度文檔建議,寫了一個游標(biāo)如下

declare cursor cur is--聲明游標(biāo)cur select B.openid,A.ID ROW_ID  FROM C_CLIENT_VIP A ,VIP_OPENID B  WHERE A.ID=B.ERPID  ORDER BY A.ID;--從A和B表中找到ID對應(yīng)的openid,并對游標(biāo)內(nèi)數(shù)組排序 V_COUNTER NUMBER;--聲明一個number類型的變量BEGIN V_VOUNTER:=0;--初始化變量值為0 FOR ROW IN CUR LOOP--遍歷游標(biāo)  UPDATE C_CLIENT_VIP A SET A.OPENID=ROW.OPENID WHERE A.ID=ROW_ID;    V_COUNTER:=V_COUNTER+1;--每次循環(huán)變量值+1  IF(V_COUNTER>=1000) THEN    COMMIT;    V_COUNTER:=0;--每更新1000行,V_COUNTER值為1000時候,就提交給數(shù)據(jù)庫    提交后將變量歸零,繼續(xù)下一個1000行更新  END IF; END LOOP;  COMMIT;END;

Oracle,數(shù)據(jù)庫,更新,大批量數(shù)據(jù)

大概48W行數(shù)據(jù),43秒即更新完畢。

使用以上方式注意一點(diǎn),因?yàn)閿?shù)據(jù)庫會員表的ID有索引,所以使用游標(biāo)速率很快。如我們的多表關(guān)聯(lián)字段沒有索引,使用此方式可能效果不是很明顯。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到oracle教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人av网站在线观看 | 欧美精品 在线观看 | 精品免费在线 | 狠狠撸在线视频 | 操操网| 最新av网址大全 | 日本在线免费播放 | 大胆裸体gogo毛片免费看 | 亚洲人成中文字幕在线观看 | 33eee在线视频免费观看 | 久久高清国产 | 国产精品美女视频一区二区三区 | 国产精品一区二区三区麻豆 | 日韩欧美中文字幕在线视频 | 国产一区二区三区色淫影院 | 国产精品一品二区三区的使用体验 | 日韩av在线一区二区 | 久草福利资源 | 亚洲日韩欧美一区二区在线 | 日韩精品1区2区 | 久久久久国产 | 一区二区三区日韩在线 | 国产欧美在线 | 91爱爱网| 国产1页 | 国产高清精品一区二区三区 | 久久精品免费一区二区三区 | 国产成年人小视频 | 蜜臀久久99精品久久久无需会员 | 欧美性生活免费 | 一区二区三区回区在观看免费视频 | 久久国产精品久久精品 | 看片国产| 欧美日韩一区在线 | 亚洲天堂一区二区 | 毛片大全 | 国产高清成人久久 | 四虎最新紧急入口 | 久久久精品久久久久 | 中文字幕在线观看精品视频 | 日韩免费视频 |