TRUNCATE TABLE REUSE STORAGE
2010/09/18 12:14
瀏覽2,082
迴響0
推薦3
引用0
如果你必須重覆使用 truncate table <table_name> 來截斷表格的話,而且次數非常頻繁的話,建議可以加上reuse storage:
truncate table <table_name> reuse storage;
因為如果單單只使用 truncate table <table_name>
表格只會保留第一個EXTENT,其餘還給系統,變成FREE EXTENT,
若是加上reuse storage,會保留已配置的EXTENT,
就不用還給系統,等後續再新增資料進去時就不用再一直配置EXTENT,
可以減少IO次數,增加系統效能。
TRUNCATE和DELETE有以下幾點區別
1、TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷,所以不可回復。
2、TRUNCATE是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對TRUNCATE使用ROLLBACK命令。
3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過TRUNCATE 操作後的TABLE 比DELETE操作後的TABLE要快得多。
4、TRUNCATE不能TRIGGER任何DELETE TRIGGER器。
5、不能授予任何人清空他人的TABLE的權限。
6、當表被清空後TABLE和TABLE的索引將重新設置成初始大小,而delete則不能。
REF:
http://www.google.com/notebook/public/09633915232355239486/BDRy_IgoQnImy8tYi
你可能會有興趣的文章:





