truncate,delete,drop的異同點

2021-04-18 14:55:12 字數 1252 閱讀 3493

href="file:///c:/docume~1/gaomeng/locals~1/temp/msohtml1/06/clip_filelist.xml" rel="file-list" />truncate,delete,drop的異同點注意

:這裡說的

delete

是指不帶

where

子句的delete

語句相同點

truncate

和不帶where

子句的delete,

以及drop

都會刪除表內的資料

不同點: 1. truncate

和delete

只刪除資料不刪除表的結構(定義

)     drop

語句將刪除表的結構被依賴的約束

(constrain),

觸發器(trigger),

索引(index);

依賴於該錶的儲存過程

/函式將保留

,但是變為

invalid

狀態. 2.delete

語句是dml,

這個操作會放到

rollback segement中,

事務提交之後才生效

;如果有相應的

trigger,

執行的時候將被觸發

.    truncate,drop

是ddl,

操作立即生效

,原資料不放到

rollback segment中,

不能回滾

. 操作不觸發

trigger. 3.delete

語句不影響表所占用的

extent,

高水線(high watermark)

保持原位置不動

顯然drop

語句將表所占用的空間全部釋放

truncate

語句預設情況下見空間釋放到

minextents

個extent,

除非使用

reuse storage;   truncate

會將高水線復位

(回到最開始

). 4.速度,

一般來說

: drop>; truncate >; delete 5.

安全性:

小心使用

drop

和truncate,

尤其沒有備份的時候

.否則哭都來不及

truncate,delete,drop的異同點

注意 這裡說的delete是指不帶where子句的delete語句 相同點 truncate和不帶where子句的delete,以及drop都會刪除表內的資料 不同點 1.truncate和 delete只刪除資料不刪除表的結構 定義 drop語句將刪除表的結構被依賴的約束 constrain 觸發...

truncate,delete,drop的異同點

truncate,delete,drop的異同點 說明 本文摘自oracle技術使用者討論組 truncate,delete,drop的異同點 注意 這裡說的delete是指不帶where子句的delete語句 相同點 truncate和不帶where子句的delete,以及drop都會刪除表內的資...

truncate,delete,drop的異同點

truncate,delete,drop的異同點 說明 本文摘自oracle技術使用者討論組 truncate delete,drop的異同點 注意 這裡說的delete是指不帶where子句的delete語句 相同點 truncate和不帶where子句的delete,以及drop都會刪除表內的資...