zoukankan      html  css  js  c++  java
  • 大数据量的删除过程查看

    删除一个大表里面的部分数据,如用以下语句:

      delete from 目标表 a where exists (select 'x' from 关联表 where 关联字段=a.关联字段);

    删除过程会很久(如在几亿数据的表中删除70368181记录用28946秒),如果要查看当前删除了多少条记录,可以用如下语句:

    select trunc(sum(USED_UREC)/3) from v$transaction
    where addr in (select taddr from v$session where audsid in (207541))

    其中207541是删除语句的会话的AUDSID,而SUM后除以3是因为目标表里面有2个索引,删除记录的同时也在删除索引,所以需要除以3,类似的:如果目标表有N个索引就要除以N+1。

     

     


  • 相关阅读:
    php函数、php定义数组和数组遍历
    php语句
    php基础
    phpcms 标题设置
    上传头像预览
    简单的轮播样式
    ajax 小练习
    生成地图
    php注释规范
    thinkphp 实现分页
  • 原文地址:https://www.cnblogs.com/enli/p/1274830.html
Copyright © 2011-2022 走看看