`
pterodactyl
  • 浏览: 749036 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

    博客分类:
  • life
阅读更多


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

作者:佚名  来源:不详  发布时间:2007-6-27 8:12:00

<!--
google_ad_client = "pub-5938724089153363";
/* 336x280, 创建于 09-3-11 */
google_ad_slot = "1612421815";
google_ad_width = 336;
google_ad_height = 280;
//-->

window.google_render_ad();


  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 STORAGE



  一个实际应用的典型例子:你用sqlldr加载一个1000万记录的数据表,但是加载了多一半的时候你发现有问题,这个时候你想清空表重新加载。那么最好 reuse storage ,这样再次加载就不需要再次寻找空闲空间了。

 

分享到:
评论

相关推荐

    delete,truncate和drop的区别

    delete,truncate和drop的区别

    SQL语句中----删除表数据drop、truncate和delete的用法

    SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完

    oracle数据库删除数据Delete语句和Truncate语句的对比.docx

    oracle数据库删除数据Delete语句和Truncate语句的对比.docx

    详解Truncate delete drop三者的区别

    详细阐述了Oracle中三种删除的方式truncate,drop和delete三者的区别和联系.

    oracle数据库删除数据Delete语句和Truncate语句的使用比较

    oracle当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍

    oracle数据库删除数据Delete语句和Truncate语句的对比.pdf

    delete from 表名与truncate table 表名区别

    1.delete不能使自动编号返回为起始值。... 您可能感兴趣的文章:Oracle给用户授权truncatetable的实现方案SQL中Truncate的用法golang实战之truncate日志文件详解tf.truncated_normal与tf.random_normal

    利用 Oracle 系统触发器防止误删除表操作

    利用oracle 系统触发器防止用户使用drop table 或truncate table 命令。

    Oracle数据恢复神器Dbseeker 2.5

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。 最新版本请访问http://www.dbseeker.com 2015/12/05 Dbseeker...

    oracle高级面试50问

    4. 解释data block , extent 和 segment的区别(这里建议用英文术语)  解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库...

    oracle的sql优化

     使用Truncate替代delete来删除记录,但Truncate数据不记录日志,无法进行回滚  对于复杂的存储过程可以多次提交的数据的要多分多次Commit,否则长事务对系统性能影响很大  Distinct和Having子句都是耗时操作,...

    Oracle数据库恢复神器Dbseeker 2.1

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。最新版本请访问作者网站http://www.dbseeker.com

    Oracle面试题 oracle学习题

    7. 比较truncate和delete 命令 8. 使用索引的理由 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 10. FACT Table上需要建立何种索引? 11. 给出两种相关约束? 12. 如何在不影响子表的前提下,重建一个母...

    Oracle数据库Sql性能调优

    1.12 用TRUNCATE替代DELETE 9 1.13 尽量多使用COMMIT 9 1.14 计算记录条数 9 1.15 用WHERE子句替换HAVING子句 9 1.16 减少对表的查询 10 1.17 通过内部函数提高SQL效率 10 1.18 使用表的别名(ALIAS) 11 1.19 用...

    Oracle给用户授权truncatetable的实现方案

    开发说在用dwetl下执行调用shop用户下的表的时候提示没有权限操作,google了查了下,发现oracle账户没法直接赋予对某个表的truncate权限,那要怎么来实现呢? 在shop用户下面,准备测试数据 SQL> create table Z_...

    Oracle8i_9i数据库基础

    §6.4 insert、delete及update 的提交和撤消 176 §6.4.1 自动提交的设置 176 §6.4.2 保留点和撤消 177 第七章 复杂查询语句的使用 180 §7.1 复杂查询语句的使用 180 §7.1.1 相关子查询 180 §7.1.2 外连接 180 ...

    Oracle_PLSQL_语法详细手册

    oracle_PLSQL_语法详细手册 目 录 第一部分 SQL语法部分 3 一、 CREATE TABLE 语句 3 二、 CREATE SEQUENCE语句 5 三、 CREATE VIEW语句 6 四、 INSERT语句: 7 五、 UPDATE语句: 9 六、 DELETE语句: 10 七、 ...

Global site tag (gtag.js) - Google Analytics