查了好多資料,發(fā)現(xiàn)還是不全,干脆自己整理吧,至少保證在我的做法正確的,以免誤導(dǎo)讀者,也是給自己做個(gè)記載吧!
????網(wǎng)上形形色色刪除重復(fù)數(shù)據(jù)的法方就是沒(méi)見(jiàn)過(guò)這類(lèi):
????DELETE FROM prod_grid_inc
????WHERE ?ROWID IN (SELECT b.row_id2
? ? ? ? ? ? ? ? ?FROM ? (SELECT ROWID row_id2,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a.*,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? row_number() over(PARTITION BY a.prod_id ORDER BY a.insert_date DESC) row_num
? ? ? ? ? ? ? ? ? ? ? ? ?FROM ? prod_grid_inc a) b
? ? ? ? ? ? ? ? ?WHERE ?b.row_num >= 2);
????大家不妨嘗嘗,經(jīng)過(guò)實(shí)驗(yàn),的確快了不少。
????如果是幾G的大表(這類(lèi)時(shí)候一般是分區(qū)表),這類(lèi)情況最好是append+nologging式方,將一唯記載insert到臨時(shí)表中,然后通過(guò)換交分區(qū)的式方換交去過(guò),前后只要需幾分鐘,其中臨時(shí)表的表空間和索引表空間要合符正式表的要求:
????eg:
????INSERT /*+append*/ INTO ACCT_ITEM_MID
????SELECT *
? FROM ACCT_ITEM SUBPARTITION(P_201109_SUB_P_XX) a
?WHERE ROWID = (SELECT MAX(ROWID)
? ? ? ? ? ? ? ? ? FROM ACCT_ITEM SUBPARTITION(P_201109_SUB_P_XX) a1
? ? ? ? ? ? ? ? ?WHERE a.cust_id = a1.cust_id);
????COMMIT;
? ? ? ? ? ? ? ?
????ALTER TABLE ACCT_ITEM EXCHANGE SUBPARTITION P_201109_SUB_P_XX WITH TABLE ACCT_ITEM_MID;
????當(dāng)然exchange的式方雖然快,但是這類(lèi)情況會(huì)致導(dǎo)索引效失,要需重建索引:
????alter index ind_name rebuild subpartition subpartition_name;
????如此便可。
文章結(jié)束給大家分享下程序員的一些笑話語(yǔ)錄: 一位程序員去海邊游泳,由于水性不佳,游不回岸了,于是他揮著手臂,大聲求.救:“F1,F(xiàn)1!”
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
