日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle delete truncate drop 的区别

發布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle delete truncate drop 的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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?不影響表所占用的?extentHWM?保持原位置不動,即使刪除的是最靠近?HWM?的數據。delete?其實也可以釋放空間,但是不降低?HWMdelete?后?block?的空閑空間達到?pct_used,就可以重用。?truncate?缺省情況下將空間(表和索引)釋放到?minextents?個?extent,除非使用?reuse?storagetruncate?會將高水線復位(回到最開始)。?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

??

轉載于:https://www.cnblogs.com/zlja/archive/2010/06/19/2449862.html

總結

以上是生活随笔為你收集整理的Oracle delete truncate drop 的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。