SQL truncate 、delete与drop区别
|
相同点: 1.truncate和不带where子句的delete、以及drop都会删除表内的数据。 2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。 |
不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) 2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。 3.delete 语句不影响表所占用的 extent,高水线(high watermark)保持原位置不动 4.速度,一般来说: drop> truncate > delete 5.安全性:小心使用 drop 和 truncate,尤其没有备份的时候.否则哭都来不及 6.delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动提交。 7、TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 8、TRUNCATE TABLE 10、TRUNCATE TABLE 不能用于参与了索引视图的表。 |
相关文章
- 10-14set @sql=N'q',这里的N是什么意思,加与不加有什么区别
- 10-14drop,delete与truncate的区别
- 10-14delete,truncate ,drop区别
- 10-14delete、truncate、drop三种删除语句联系与区别
- 10-14drop,delete与truncate的区别
- 10-14SqlServer--delete、truncate 、Drop删除表的区别
- 10-14SQL语句中----删除表数据drop、truncate和delete的用法
- 10-14delete、truncate、drop的区别有哪些,该如何选择【转】
- 10-14删除表数据drop、truncate和delete的用法
- 10-14drop、truncate和delete的区别