在oracle中由于表结构设计不合理或者需要清楚老数据的时候,经常需要对大表数据进行清理. 一般有一下几种方法: 1. 删除大部分数据,留下小部分数据.我们可以把需要保留的数据转移到别的表,然后再把大表drop掉,然后改名就行了: a) create table tablename_min as select * from tablename_max a where 需要保留的数据. b) drop table tablename_max ; c) rename tablename_min as
最新数据库空间有感觉捉急了,上次,删了些数据空了800+G,撑了一个多月,现在还有400+G,每天10G的增量,多少空间也感觉不够用啊. 不能加硬盘,就只有删数据了.. 删数据,人懒,直接找表行最多,占空间最大的表删 于是就有了下面一段SQL: ||'M' bytes from user_segments group by segment_name) us where ut.TABLE_NAME = us.segment_name order by num_rows desc nulls las