刪除表中的數(shù)據(jù)的方法有delete,truncate,
它們都是刪除表中的數(shù)據(jù),而不能刪除表結構,delete 可以刪除整個表的數(shù)據(jù)也可以刪除表中某一條或N條滿足條件的數(shù)據(jù),而truncate只能刪除整個表的數(shù)據(jù),一般我們把delete 操作叫作刪除表,而truncate操作叫作截斷表.
truncate 操作與 delete 操作對比
操作
回滾
高水線
空間
效率
Truncate
不能
下降
回收
快
delete
可以
不變
不回收
慢
TRUNCATE和DELETE有以下幾點區(qū)別
1、TRUNCATE在各種表上無論是大的還是小的都非???。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷。
2、TRUNCATE是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對TRUNCATE使用ROLLBACK命令。
3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經(jīng)過TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能觸發(fā)任何DELETE觸發(fā)器。
5、不能授予任何人清空他人的表的權限。
6、當表被清空后表和表的索引將重新設置成初始大小,而delete則不能。
7、不能清空父表。
更多信息請查看IT技術專欄