TRUNCATE,DORP,DELETE

来源:互联网 发布:软件需求文档模板 编辑:程序博客网 时间:2024/05/16 09:32

相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据    不同点:  1.truncate和 delete只删除数据不删除表的结构(定义)        drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.   2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.       truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.   3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动      显然drop语句将表所占用的空间全部释放      truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage;   

原创粉丝点击