删除Oracle表的大量行 [英] Deleting large number of rows of an Oracle table

查看:137
本文介绍了删除Oracle表的大量行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个公司的数据表,它有250 Gb的数据,有35列.我需要删除大约215Gb的数据 显然是要从表中删除的行数很多.该表没有主键.

I have a data table from company which is of 250Gb having 35 columns. I need to delete around 215Gb of data which is obviously large number of rows to delete from the table. This table has no primary key.

从该表中删除数据的最快方法是最快的方法? Oracle中有用于此类大型删除过程的工具吗?

What could be the fastest method to delete data from this table? Are there any tools in Oracle for such large deletion processes?

请向我建议使用Oracle的最快方法.

Please suggest me the fastest way to do this with using Oracle.

推荐答案

如上面的回答所述,最好将要保留的行移动到单独的表中并截断该表,因为有一个名为HIGH WATERMARK的东西. .可以在此处找到更多详细信息

As it is said in the answer above it's better to move the rows to be retained into a separate table and truncate the table because there's a thing called HIGH WATERMARK. More details can be found here http://sysdba.wordpress.com/2006/04/28/how-to-adjust-the-high-watermark-in-oracle-10g-alter-table-shrink/ . The delete operation will overwhelm your UNDO TABLESPACE it's called.

recovery model这个术语相当适用于我相信的mssql :).

The recovery model term is rather applicable for mssql I believe :).

希望它能使问题更明确.

hope it clarifies the matter abit.

谢谢.

这篇关于删除Oracle表的大量行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆