前几天看到同事关于删除某些大表数据的方案,看后觉得有些疑问......
[@more@]同事的方案是这样的:首先将要删除的表的数据的rowid记录在某个临时表中,然后根据该临时表的rowid对相关表进行delete,采用批量delete,然后批量提交的方式。
该方案对普通大表进行数据删除不失为一个好办法,但是他将要处理的表是分区表,这些分区表是以时间(YYYYMM)进行分区的,而删除的数据也是以时间作为标准的,那么新的数据能够使用这些已经被删除数据的数据块吗?不要忘了,这些数据块是属于那些不需要的分区对应的SEGMENT的。
说明:不使用DROP和TRUNCATE分区的方式是因为这些方式会产生libaray cache lock等DDL锁,进而影响应用。
已经向同事说明我的想法,他也认可我的想法,呵呵,是不是对这种分区表必须使用DDL的方式清理空间了呢?
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/85922/viewspace-1002802/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/85922/viewspace-1002802/