注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. 2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执...
相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。 2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触...
网上是这么阐述的 truncate和delete区别 1.truncate is fast but can't rollback,delete can rollback 2.truncate时index也会删掉,但delete则不会. 3.truncate 会把 highwatermark 回归至 0 ... 当下一次再插入新资料时就会快一些啦。 4.trancate 删除数据释放空间,delete则不会 truncate操作 同没有where条件的delete操作十分相似 1、无论truncate大表还是小表速度都非常快。delete要产生回滚信息来满足回滚需求而truncate是...
truncate和delete有以下几点区别 1、truncate在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令delete将被撤销,而truncate则不会被撤销。 2、truncate是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对truncate使用ROLLBACK命令。 3、truncate将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过truncate操作后的表比delete操作后的表要快得多。 4、truncate不能触发...