drop truncate和delete的區別

2021-09-29 08:56:05 字數 714 閱讀 7336

1 可以作用於table view

2 是dml(data maintain language)語言,使用時用commit手動提交,會退時使用rowback

3 刪除表中的一條資料時,會記錄在redo和undo日誌表中,以便重做和回退

4 可以使用where

5 不會初始化自增字段

6 會觸發觸發器

1 只能作用於table,不能作用於有外來鍵關聯的表,而應該使用帶where的delete去刪除

2 truncate是ddl(data define langeuage)語言,刪除時隱式提交,不能回退。

3 刪除時會保留表結構,列,索引,約束,只會刪除資料。也會重置高水線和索引

4 刪除後索引和表資料的大小恢復到初始化值

5 刪除方式是通過刪除資料表中的資料頁來刪除,只會在事務日誌中記錄對頁的刪除,不能回退不會觸發觸發器。

1 drop是ddl(data define language) 語言,刪除時隱式提交。不能回退

2 直接刪除表結構和資料,索引,約束。但會保留儲存過程、函式,並將其狀態設定為invalid

1 速度 drop> truncate>delete

2 刪除時如果要保留表結構,如果不涉及事務和觸發器,則使用truncate,否認這使用delete

3 如果想整理表內部的碎片,使用truncate+reuse storage ,再重新匯出/插入碎片。

from

delete和drop truncate的區別

1.truncate和不帶where子句的delete 以及drop都會刪除表內的資料。2.drop truncate都是ddl語句 資料定義語言 執行後會自動提交。1.truncate 和 delete 只刪除資料不刪除表的結構 定義 drop 語句將刪除表的結構被依賴的約束 constrain ...

drop truncate和delete的區別

delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中儲存以便進行進行回滾操作。truncate table 則一次性地從表中刪除所有的資料並不把單獨的刪除操作記錄記入日誌儲存,刪除行是不能恢復的。並且在刪除的過程中不會啟用與表有關的刪除觸發器。執行速度快。...

drop truncate和delete的區別

1 delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中儲存以便進行進行回滾操作。truncate table 則一次性地從表中刪除所有的資料並不把單獨的刪除操作記錄記入日誌儲存,刪除行是不能恢復的。並且在刪除的過程中不會啟用與表有關的刪除觸發器。執行速度...