drop truncate delete區(qū)別 數據庫delete和truncate的區(qū)別?
數據庫delete和truncate的區(qū)別?1. Truncate在各種大大小小的表上都非??臁H绻谢貪L命令,delete將被撤銷,而truncate將不會被撤銷。2Truncate是一種DDL語言
數據庫delete和truncate的區(qū)別?
1. Truncate在各種大大小小的表上都非???。如果有回滾命令,delete將被撤銷,而truncate將不會被撤銷。2Truncate是一種DDL語言。與所有其他DDL語言一樣,它將隱式提交,并且無法在截斷時使用回滾命令。
3. Truncate將重置高級行和所有索引。在完全瀏覽整個表和索引時,截斷操作后的表比刪除操作后的表要快得多。4Truncate不能觸發(fā)任何delete觸發(fā)器。
5. 任何人都無權清空其他人的表。
6. 當清除表時,表及其索引將重置為初始大小,而delete不能。7不能清空父表。
TRUNCATE TABLE(schema)TABLE Name
刪除(重用)存儲默認為刪除存儲。當使用drop store時,表和表索引將被縮短,表將縮小到最小范圍,并且下一個參數將被重置。重用存儲不會縮短表或調整下一個參數。在特殊情況下,使用reuse st
delete語句進行刪除的過程是每次從表中刪除一行,同時將該行的刪除操作作為事務記錄保存在日志中進行回滾操作。
Truncate table可以一次刪除表中的所有數據頁。它不記錄日志中的單個刪除操作記錄,刪除的行無法恢復。另外,刪除過程中不會激活與表相關的刪除觸發(fā)器。執(zhí)行速度很快。
數據庫delete與truncate有什么區(qū)別?
Delete可以配合where條件只刪除符合條件的數據;truncate不能刪除,這是DML語句,可以在事務中使用。每個被刪除的項都有相應的操作日志記錄,可以回滾;truncate是DDL語句,執(zhí)行后立即生效,不能在事務中使用,不能回滾