deleteæ¬æ¥å°±ä¸éæ¾è¡¨ç©ºé´çå
truncate table 表å --è¿æ ·æéæ¾è¡¨ç©ºé´å¦æä½ åªæ¯delete é¨åæ°æ® æ¯å¦ä½ æid=1çå é¤æ
ä½ä½ è¿æ³éæ¾è¡¨ç©ºé´ï¼éè¦åå©ä¸ä¸ä¸´æ¶è¡¨
åæ¥ç»ä½ æ§è¡ä¸ä¸
delete from 表å where id=1;
commit;--以ä¸ä¸ºå é¤æ°æ®
create table tmp as select * from 表å;--å°ç®å表å çæ°æ®ææ¶æ¾å°tmp表ä¸
truncate table 表å;--æ¸ ç©ºå表æ°æ®
insert into 表å select * from tmp;--å°ä¸´æ¶è¡¨æ°æ®åæåå»
commit;
drop table tmp;--å°ä¸´æ¶è¡¨å é¤
oracle中所有的delete操作几乎都不释放空间
要释放空间的话:
可以删除所有数据的情况: truncate
有停机时间的情况: alter table xx move
没有停机时间的情况: alter table xx shrink space
from askmaclean