DoNetK - .Net资讯网

投递文章  RSS订阅 站长资讯通告:
搜索: 您的位置主页>站长大厅>服务器运维>Oracle中TRUNCATE和Delete区别及TRUNCATE使用说明

Oracle中TRUNCATE和Delete区别及TRUNCATE使用说明

2008-07-21   来源:   作者:  点击:
如果有ROLLBACK命令Delete将被撤销

  2、TRUNCATE是一个DDL语言   TRUNCATE和Delete有以下几点区别

  1、TRUNCATE在各种表上无论是大的还是小的都非常快 在对整个表和索引进行完全浏览时 他将被隐式提交 向其他所有的DDL语言一样 而TRUNCATE则不会被撤销

  3、TRUNCATE将重新设置高水平线和所有的索引

  6、当表被清空后表和表的索引讲重新设置成初始大小 不能对TRUNCATE使用ROLLBACK命令

  5、不能授予任何人清空他人的表的权限

  4、TRUNCATE不能触发任何Delete触发器

  TRUNCATE TABLE (schema)table_name Drop(REUSE) STORAGE

  在默认是 Drop STORAGE 当使用Drop STORAGE时将缩短表和表索引 经过TRUNCATE操作后的表比Delete操作后的表要快得多

  7、不能清空父表 REUSE STORAGE不会缩短表或者调整NEXT参数

  在特殊情况下使用 REUSE STORAGE

  一个实际应用的典型例子:你用sqlldr加载一个1000万记录的数据表 将表收缩到最小范围 而delete则不能 那么最好 reuse storage 但是加载了多一半的时候你发现有问题 并重新设置NEXT参数 这个时候你想清空表重新加载 这样再次加载就不需要再次寻找空闲空间了
关于我们 - 联系我们 - 友情链接 - 版权声明 - 站务论坛