Oracle 如何快速删除大数据表中的内容

有张表,其中的记录有1000W之多,我想删除其中符合条件的50w条,我该如何快速删除!

可以写个存储过程循环删除,把你的删除条件分成若干份,每次删除1份的数据(比如条件是1个月的时间范围,可以分成30份,每次删除其中1天的)。
因为不知道你的具体表分区情况和删除条件情况,所以没办法进一步提供更好的方法。
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle如何最快的删除大数据量表中的多个字段
删除字段是把表中的字段去掉还是把表中该列的值修改为空?前者是DDL语句,用alter table table_name drop column colname 的方式执行,是DDL 语句,执行很快;后者只能用update table_name t set t.colname ='' 的方式进行,没有where 字句,一般是全表扫描。

如何提高Oracle大数据表Update效率
后来尝试过的改进办法有:1.把表上的LOGGING取消2.把表上的INDEX取消但是依然很慢,无奈下找到这个:?p=100:11:0:::P11_QUESTION_ID:6407993912330在这个主题问答里,ORA官方提了一种处理的办法:1.利用CREATE table as select xxxxx的办法来生成一新表T12.在T1上创建与目标表一样的索引3.把目标表...

Oracle中如何删除重复数据
所以我建议先将查询到的重复的数据插入到一个临时表中,然后对进行删除,这样,执行删除的时候就不用再进行一次查询了。如下: CREATE TABLE 临时表 AS (select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1) 上面这句话就是建立了临时表,并将查询到的数据插入...

如何解决Oracle数据库中重复数据的方法步骤
先建临时表再进行删除的操作要比直接用一条语句进行删除要高效得多。上面的语句会把所有重复的全都删除,在oracle中,有个隐藏了自动rowid,里面给每条记录一个唯一的rowid,我们如果想保留最新的一条记录,我们就可以利用这个字段,保留重复数据中rowid最大的一条记录就可以了。下面是查询重复数据的一个...

ORACLE 中删除了表怎么硬盘剩余空间没变?
1、tables是存储某个tablespace(表空间)里面的,tablespaces可以包含多个dbf文件,你在硬盘里面可以查到dbf文件。表空间会随着包含的表内容增加而增大,但是不会随着table删除而减小。如果要增加剩余空间,需要先drop table ,再drop tablespace。2、select name from v$tablespace; 可以看oracle包含哪些tablespaceselect TABLESPAC...

如何向Oracle数据库表中进行大数据量的插入并提交?
大数据量提交可能会造成系统瘫痪,所以不建议这样做。 如果有需要,可以在导出insert语句的时候分批次commit(提交)。 方法如下: 1、登录plsql,进入导出表 2、选择要导出的表,然后下图位置根据需要写上每次多少行提交,选择导出路径,点击导出即可 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 0 5 ...

在ORACLE数据库中,我使用IMP导入数据,错把数据导入到其他用户中。请问我...
直接把你到入的那个用户的数据全删了。drop user [username] casecade;--补充水已经导入大海了,想单独抽出来是不可能的。 追问 sysbase 就可以通过导入的时间来查询并删除某次导入的数据。 追答 oracle目前不行。 追问 oracle创建的表、视图什么的没有创建时间吗 更多追问 startay | 发布于2013-07-31 举报...

怎样把带clob字段的表中数据导出
With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production SQL> DROP TABLE TEST2;DROP TABLE TEST2 ERROR 在行 1:ORA-00942: 表格或视观表不存在 SQL> CREATE TABLE TEST2 (AAA CLOB);已建立表格.SQL> INSERT INTO TEST2 VALUES('CCBZZPCCBZZP')...

在oracle中怎么查一个表中的的一个字段的重复数据
Oracle删除重复数据的SQL(删除所有):删除重复数据的基本结构写法:想要删除这些重复的数据,可以使用下面语句进行删除 delete from 表名 a where 字段1,字段2 in(select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1)上面的SQL注意:语句非常简单,就是将查询到...

数据库oracle中怎么用distinct取消重复行
例如一个表xskc中有c_id,s_id俩字段,我要取消c_id的重复行,显示c_id和s_id。程序是什么?aikuxiaozi1 | 浏览35118 次 |举报 我有更好的答案推荐于2017-12-15 15:26:38 最佳答案 首先,对你的需求有点模糊,取消c_id的重复行,然后还显示c_id,s_id。上面两个SQL不知道是否满足你的需求,就比如selec...

相似回答