免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
truncate,delete,drop的異同點

說明:本文摘自oracle技術(shù)用戶討論組

truncate
,delete,drop的異同點  
注意:這里說的delete是指不帶where子句的delete語句
  
相同點:truncate和不帶where子句的delete, 以及drop都會刪除表內(nèi)的數(shù)據(jù)  
不同點:  
1. truncate和 delete只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu)(定義)  
     drop語句將刪除表的結(jié)構(gòu)被依賴的約束(constrain),觸發(fā)器(trigger),索引(index); 依賴于該表的存儲過程/函數(shù)將保留,但是變?yōu)閕nvalid狀態(tài).  
2.delete語句是dml,這個操作會放到rollback segement中,事務提交之后才生效;如果有相應的trigger,執(zhí)行的時候?qū)⒈挥|發(fā).  
    truncate,drop是ddl, 操作立即生效,原數(shù)據(jù)不放到rollback segment中,不能回滾. 操作不觸發(fā)trigger.  
3.delete語句不影響表所占用的extent, 高水線(high watermark)保持原位置不動  
   顯然drop語句將表所占用的空間全部釋放  
   truncate 語句缺省情況下將空間釋放到 minextents個 extent,除非使用reuse storage;   truncate會將高水線復位(回到最開始).  
4.速度,一般來說: drop> truncate > delete  
5.安全性:小心使用drop 和truncate,尤其沒有備份的時候.否則哭都來不及  
使用上,想刪除部分數(shù)據(jù)行用delete,注意帶上where子句. 回滾段要足夠大.  
想刪除表,當然用drop  
想保留表而將所有數(shù)據(jù)刪除. 如果和事務無關(guān),用truncate即可. 如果和事務有關(guān),或者想觸發(fā)trigger,還是用delete.  
如果是整理表內(nèi)部的碎片,可以用truncate跟上reuse stroage,再重新導入/插入數(shù)據(jù) 


本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
truncate與delete的區(qū)別
SQL中Truncate的用法
drop、truncate和delete的區(qū)別
一次oracle大量數(shù)據(jù)刪除經(jīng)歷
SQL語句中
delete、truncate、drop,千萬別用錯了。。
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服