欢迎投稿

今日深度:

Truncate Delete Drop命令的区别 .,truncatedrop

Truncate Delete Drop命令的区别 .,truncatedrop


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;而且truncate会将高水线复位(回到最开始).
4.从速度的区别:
  一般来说: drop> truncate > delete
5.从安全性考虑:
  小心使用drop 和truncate,尤其没有备份的时候.
  使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大.
  想删除表,当然用drop
  想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete.
  如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据

delete,truncate,drop,这三者的详细不同是什,详细指教,

delete 和truncate 都可以用来删除数据表里的数据。delete可以精确删除。如删除 学生表(student)里id为5的记录。可以写为 delete from studen where id ='5' 。删除表里面的所有数据,可以写为
delete from studnet 或者 truncate table student 。后者对日志的记录要少。drop 比较简单,是用来删除表的 如 drop table student 。drop是将表及其里面的数据 全部删除
 

数据库命令delete与truncate的不同是什?

TRUNCATE和DELETE有以下几点区别 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。 2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。 4、TRUNCATE不能触发任何DELETE触发器。 5、不能授予任何人清空他人的表的权限。 6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。 7、不能清空父表。 TRUNCATE TABLE (schema)table_name DROP(REUSE) STORAGE 在默认是 DROP STORAGE 当使用DROP STORAGE时将缩短表和表索引,将表收缩到最小范围,并重新设置NEXT参数。REUSE STORAGE不会缩短表或者调整NEXT参数在特殊情况下使用 REUSE ST

DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3886.html NewsArticle Truncate Delete Drop命令的区别 .,truncatedrop truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. 从删除内容上区分: truncate和 delete只删除数据不删除表的结构(定义) drop语...
评论暂时关闭