一
Truncate table does not generate rollback information and redo records so it is much faster than delete
In default
ALTER TABLESPACE AAA COALESCE; 才有空間
delete 則不可以
delete 可以是table
二
delete是DML語言
DDL語言是自動提交的
命令完成就不可回滾
truncate的速度也比delete要快得多
三
所以一般都是在 temp table 上使用的
四
當你不再需要該表時
當你仍要保留該表
當你要刪除部分記錄時(always with a WHERE clause)
五
Index也會刪掉不是指drop index
sys@DEMO> create index tom
已建立索引
sys@DEMO> select block_id
BLOCK_ID BYTES
———
已選取
sys@DEMO> TRUNCATE TABLE TOM
表格被截斷
sys@DEMO> select block_id
BLOCK_ID BYTES
———
sys@DEMO> insert into tom
已建立
sys@DEMO> insert into tom
已建立
sys@DEMO> commit;
確認完成
sys@DEMO> select block_id
BLOCK_ID BYTES
———
已選取
sys@DEMO> delete from tom
已刪除
sys@DEMO> select block_id
BLOCK_ID BYTES
———
From:http://tw.wingwit.com/Article/program/Oracle/201311/17375.html