高效快速刪除Oracle表中重複記錄

來源:互聯網
上載者:User

  以前的一篇重複資料刪除記錄的雖然還不錯 但是在我遇到重量級的大表時還是顯的力不從心,不小心想到一種新的方法

  思路1、儲存不重複的記錄

  2、儲存重複記錄中的一個rowid

  //3、刪除原表中rowid不為步驟2中rowid的記錄 ,留下重複資料中的一條

  3.找出記錄中rowid為步驟2中rowid的記錄

  4 、1和3資料連線就是所要的資料了

  具體操作例子

  第一步:www.examw.com

  SQL> create table xxfgs_sig as (select imeid imeid,max(dn) dn,max(xlh) xlh,max(pro_name) pro_name,max(area_name) area_na

  me,max(brand) brand,max(m_type) m_type from xxfgs group by imeid having count(*)<2);

  第二步:

  SQL> create table xxfgs_row as (select max(rowid) rowdata,imeid from xxfgs group by imeid having count(*)>1);

  //第三步:////可以考慮給meid建索引

  //SQL>delete from xxfgs where rowid not in (select rowdata from xxfgs_row);

  //或者

  //SQL>delete from xxfgs a where a.rowid <>(select rowdata from xxgs_row b where a.meid=b.meid)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.