zoukankan      html  css  js  c++  java
  • 索引临时表【Oracle】比较快的删除重复数据的方式Strut2教程java教程

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧!

        网上形形色色删除重复数据的法方就是没见过这类:

        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);

        大家不妨尝尝,经过实验,的确快了不少。

        如果是几G的大表(这类时候一般是分区表),这类情况最好是append+nologging式方,将一唯记载insert到临时表中,然后通过换交分区的式方换交去过,前后只要需几分钟,其中临时表的表空间和索引表空间要合符正式表的要求:

        每日一道理
    生命,是一场漫长的棋局。这盘棋没有猎猎西风,没有四起狼烟,只有在取舍和进退中抉择。只有像棋中的小卒那样,勇往直前,毫不退缩沿着沟沟坎坎的人生之路,艰难而执着的求索,前进,才会谱写人生最壮丽的强者之歌。

        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;

        当然exchange的式方虽然快,但是这类情况会致导索引效失,要需重建索引:

        alter index ind_name rebuild subpartition subpartition_name;

        如此便可。

    文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”

  • 相关阅读:
    jQuery插件 -- Form表单插件jquery.form.js
    Ajax发送GET、POST请求和响应XML数据案例
    Ajax知识点复习
    Tomcat配置连接池的java实现
    dbcp数据库连接池的java实现
    C3P0数据库连接池的java实现
    推荐几款基于Bootstrap的响应式后台管理模板
    Java复习第四天
    Java复习第三天
    Java复习第二天
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3053780.html
Copyright © 2011-2022 走看看