Oracle delete truncate drop 的區別

來源:互聯網
上載者:User

1. delete/truncate 只刪除資料不刪除表,索引的結構。 drop 將刪除表的結構及依賴的 index/constrain/trigger,依賴於該表的 procedure/function 將保留,但是變為 invalid 狀態;

 

2. delete 是 dml,寫 rollback segement,可復原,速度慢,事務提交之後才生效。在 9i 滿足 undo_retention 條件下可使用 flashback。一次性大批量資料的 delete 可能導致復原段急劇擴充從而影響到資料庫,慎用,觸發 trigger。 truncate/drop 是 ddl,隱式提交,不寫 rollback segment,不能復原,速度快。9i 不能使用 flashback,不觸發 trigger;

3. delete 不影響表所佔用的 extent,HWM 保持原位置不動,即使刪除的是最靠近 HWM 的資料。delete 其實也可以釋放空間,但是不降低 HWM,delete 後 block 的空閑空間達到 pct_used,就可以重用。 truncate 預設情況下將空間(表和索引)釋放到 minextents 個 extent,除非使用 reuse storage。truncate 會將高水線複位(回到最開始)。 drop 將表所佔用的空間全部釋放,segment 不存在,無所謂 HWM 的概念;

Oracle 高水位(HWM) 

http://blog.csdn.net/tianlesoftware/archive/2009/10/22/4707900.aspx         

   

4. truncate/drop 的對象必須是本模式下的,或者被授予 drop any table 的許可權,但 drop any table 許可權不能 truncate/drop sys 的表。 delete 的對象必須是本模式下的,或者被授予 delete on SCHEMA.table 或 delete any table 的許可權,但 delete any table 許可權不能 delete sys 的表;

5. 不能 truncate 一個帶有 enable 外鍵的表,不管表裡有沒有資料,如果要 truncate,首先要 disable 外鍵或者刪除外鍵(drop 外鍵的表肯定是刪除了外鍵)。不能 drop 一個帶有 enable 外鍵的表,不管表裡有沒有資料,如果要 drop,首先要刪除外鍵,或者直接用 drop table TABLE_NAME cascade constraints; 串聯刪除外鍵。 delete 可以。

 

轉載自網路

------------------------------------------------------------------------------ 

Blog: http://blog.csdn.net/tianlesoftware 

網上資源: http://tianlesoftware.download.csdn.net 

相關視頻:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 

DBA1 群:62697716(滿); DBA2 群:62697977

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.