乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      oracle 刪除重復項數(shù)據(jù) oracle 刪除重復項數(shù)據(jù)

       昵稱10504424 2013-05-05
      網(wǎng)上有很多的刪除重復數(shù)據(jù)的 SQL 的例子. 有使用 GROUP BY HAVING 等, 還有一個 DISTINCT 關鍵字。我實驗了下覺得這些的刪除大數(shù)據(jù)的效率不怎么高??!

           我覺得有兩種方法刪除數(shù)據(jù)的效率是蠻大的,rowid 和分析函數(shù)。

           我現(xiàn)在用個例子來證明下:只匹配 NAME 完全相等的記錄

            先來創(chuàng)建個表    

      CREATE TABLE TEMPTEMP (
      ID NUMBER,
      NAME VARCHAR2(20)
      );
      -- 生成重復數(shù)據(jù)
      -- 0.297秒
      DECLARE
      BEGIN
      FOR I IN 1..10000 LOOP
      INSERT INTO TEMPTEMP VALUES (I, 'AAA' || I);
      END LOOP;
      END;
      /
      -- 0.015
      DECLARE
      BEGIN
      FOR I IN 1..1000 LOOP
      INSERT INTO TEMPTEMP VALUES (I, 'AAA' || I);
      END LOOP;
      END;
      /
      -- 0.031
      DECLARE
      TE INT;
      BEGIN
      FOR I IN 10001..11000 LOOP
      TE := 1;
      INSERT INTO TEMPTEMP VALUES (I, 'AAA' || TE);
      TE := TE + 1;
      END LOOP;
      END;
      /
      SQL> select count(*) from temptemp;

      COUNT(*)
      --------------
      12000

      創(chuàng)建索引

       

      -- 0.015秒 建索引
      CREATE INDEX INDEX_TEMP ON TEMPTEMP(ID, NAME);

       

           1.根據(jù)rowid刪除數(shù)據(jù)     

      -- 0.047秒 2000 rows deleted
      DELETE FROM TEMPTEMP T1 WHERE T1.ROWID !=
      (SELECT MAX(T2.ROWID) FROM TEMPTEMP T2  -----這里還可以用最小值去重復
      WHERE /*T1.ID = T2.ID AND*/ T1.NAME = T2.NAME);
      -- 去掉 注釋后 0.047秒 1000 rows deleted

      2.使用分析函數(shù)

      -- 0.031秒 2000 rows deleted
      DELETE FROM TEMPTEMP T1 WHERE T1.ROWID IN
      (SELECT RID FROM (SELECT ROWID RID,
      ROW_NUMBER() OVER (PARTITION BY /*ID,*/ NAME ORDER BY ROWID) RN
      FROM TEMPTEMP) WHERE RN != 1);
      -- 去掉 ID 匹配后 0.031秒 1000 rows deleted

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多