Contents ...
udn網路城邦
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次數,增加系統效能。

TRUNCATEDELETE有以下幾點區別


  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

有誰推薦more
全站分類:知識學習 隨堂筆記
自訂分類:DBMS
上一則: SQL_TECH_WEB_RESOURCE
下一則: 移除軟體後殘留的WINDOWS服務
發表迴響

會員登入