度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1074|回复: 3
打印 上一主题 下一主题

[分享] Oracle中truncate table与delete table的区别

[复制链接]

348

主题

3572

帖子

9299

积分

论坛元老

Rank: 8Rank: 8

积分
9299
跳转到指定楼层
楼主
发表于 2020-3-12 22:38:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

从五个方面详述truncate table与delete table的区别,大家可以参考下。

一、
1,delete产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的rollback segments .truncate 是DDL操作,不产生rollback,速度快一些.
Truncate table does not generate rollback information and redo records so it is much faster than delete.
In default, it deallocates all space except the space allocated by MINEXTENTS unless you specify REUSE STORAGE clause.
  
2,不从tablespace中腾出空间,需要
ALTER TABLESPACE AAA COALESCE; 才有空间
  
3,truncate 调整high water mark 而delete不.truncate之后,TABLE的HWM退回到 INITIAL和NEXT的位置(默认)
delete 则不可以。
  
4,truncate 只能对TABLE
delete 可以是table,view,synonym
  
5,TRUNCATE TABLE 的对象必须是本模式下的,或有drop any table的权限 而 DELETE 则是对象必须是本模式下的,或被授予 DELETE ON SCHEMA.TABLE 或DELETE ANY TABLE的权限。

二、 truncate是DDL語言.
delete是DML語言

DDL語言是自動提交的。
命令完成就不可回滾。

truncate的速度也比delete要快得多。

三、 truncate 会把 highwatermark 回归至 0 ... 当下一次再插入新资料时就会快一些。
一般都是在 temp table 上使用的,不过要注意就是 truncate 不能在 pl/sql 上使用,要用 dynamic SQL 才可以。

四、
当不再需要该表时,用 drop;
当仍要保留该表,但要删除所有记录时, 用 truncate;
当要删除部分记录时(always with a WHERE clause), 用 delete.

五、
1.TRUNCATE TABLE
Index也会刪掉不是指drop index


以上就是在oracle数据库中,删除表格的两个指令:truncate table与delete table的区别,有需要的朋友参考学习下。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
发表于 2020-3-13 14:22:25 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
板凳
发表于 2020-3-13 16:31:00 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
发表于 2020-3-13 16:31:29 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-1 09:31 , Processed in 0.136909 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表