Oracle truncate table 与 delete tabel的区别
一、
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.
------------------------------------------
这几个词不是Oracle专有的词。
一、
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.
------------------------------------------
这几个词不是Oracle专有的词。
DML----Data Manipulation Language 数据操纵语言 如insert,delete,update,select(插入、删除、修改、检索) DDL----Data Definition Language 数据库定义语言 如 create procedure之类 DCL----Data Control Language 数据库控制语言 如grant,deny,revoke等,只有管理员才有这样的权限。
发表评论
-
oracle10g完全缷载略记
2016-07-09 15:14 807软件环境: 1、Windows7 + Oracle 10g ... -
MySQL zip版的简单安装方式
2016-06-25 17:56 775Windows下MySQL zip版的简单安装 1、下载My ... -
关系型数据库三范式解释
2016-04-07 11:54 1238数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
oracle中的视图详解及实例
2015-03-26 16:42 16441.创建用户并授权: cre ... -
plsql快捷键设置
2015-01-19 14:15 23821.使用PL/SQL中经常性需要输入select * fro ... -
database link问题解决
2015-01-15 15:00 6635Oracle数据库中关于databas ... -
Oracle10g创建Database link
2015-01-14 10:53 923Oracle10g创建Database link ... -
union和union all的区别
2014-12-29 16:20 1238Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要 ... -
oracle数据库导入导出
2014-11-04 11:33 792oracle数据库导入导出(导出为dmp格式) 一、数据导出: ... -
Oracle中decode函数用法
2014-10-24 10:40 1192含义解释: decode(条件,值1,返回值1,值2 ... -
db语句优划与用法相关
2014-09-19 17:01 6221. oracle 中的not in() 与not exist ... -
oracle 临时表空间 和数据表空间
2014-08-25 13:28 891Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临 ... -
--Oracle 删除用户和表空间
2014-08-25 11:40 2456--查看oracle所有的表空间 select dbf.tab ... -
Oracle trunc()函数的用法 to_date()
2014-07-01 14:24 1374Oracle trunc()函数的用法 --Oracle ... -
sql执行顺序
2014-06-17 21:06 811在查询中逻辑查询和 ... -
监听listener oracle 错误 1067:进程意外终止
2014-05-15 19:20 1577监听listener oracle 错误 1067:进程意外终 ... -
jdbc properties文件配置
2014-05-05 21:33 1327前言 JDBC(Java Data Base Connecti ... -
PLSQL 创建表空间和用户
2014-03-14 18:09 3466通过pl/sql登录到Oracle数据库上,然后执行菜单:文件 ... -
oracle 中删除表 drop delete truncate 的区别
2014-02-27 17:26 961相同点,使用drop delete truncate 都会删除 ... -
oracle表创建序列创建触发器创建
2014-02-27 11:33 1192// 创建一个序列 CREATE SEQUENCE Car_G ...
相关推荐
TRUNCATE与 DELETE区别,比较两个的不同的特点
sql之truncate、delete与drop区别
sql中 truncate 和 delete 有什么区别
delete,truncate和drop的区别
PRM DUL for oracle恢复被truncate截断掉的表 Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是...
Oracle_审计表_sys.aud$_授权给用户Truncate权限
因自己前段时间因truncate一张表无法找回,且数据超过60W,平常的企业软件超过1W收费,故整理此内容,希望和我遇到同样问题的新手有帮助
TRUNCATE TABLE `ecs_admin_log`; TRUNCATE TABLE `ecs_article`; TRUNCATE TABLE `ecs_brand`; TRUNCATE TABLE `ecs_comment`; TRUNCATE TABLE `ecs_category`; TRUNCATE TABLE `ecs_goods`; TRUNCATE TABLE `ecs_...
sql之truncate_、delete与drop区别.pdf sql之truncate_、delete与drop区别.pdf
truncate,delete以及drop区别汇总,需要可以自己下载看看,个人觉得蛮好的!
Oracle_授权审计表Truncate权限
SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完
首先要停止数据库, 将这个表所在的表空间的文件拷贝出来, 因为Oracle在Truncate只时将相应Segment的第一个块格式化掉了, 而后面的都还存在, 到下次用时到才真正地重新格式化. 下面来讲一个Truncate表后进行恢复的...
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被...
truncate,delete,drop的异同点
NULL 博文链接:https://steve-111.iteye.com/blog/750326
1、create table t1 as 的数据,DBA_TAB_...5、dml操作表记录准确无误,truncate 操作:TRUNCATED 字段为: YES 6、隐含参数:"_dml_monitoring_enabled" 值为false 时,不记录 修改 7*、15分钟刷新未测出来。
作为初学者,有时容易混淆truncate,delete,drop之间的根本区别,所有今日小记一下。。。
它与单任务和多任务环境、专用操作系统或具有任何商业RTOS 兼容,emWin 的发货 形式为C 语言源代码。它可适用于任何尺寸的、具有任何显示控制器和CPU 的物理和虚拟显示器。其 特性包括: 一般特性 • 支持使用任何...