删除表中数据的方法有delete和truncate,delete可以删除整个表的数据,也可以删除满足条件的一条或多条数据,但truncate只能删除整张表的数据.一般将delete操作称作删除表,truncate操作称作截断表.
对比操作如下:
操作 回滚 高水线 空间 效率
truncate 不能 降低 回收 快
delete 能 不变 不回收 慢
1.回滚
在oracle中删除的数据可以回滚是因为它把原始数据放到了undo表空间
DML语句使用undo表空间,DDL语句不使用undo,delete属于DML语句,而truncate属于DDL语句,另外DDL语句是隐式提交.
2.高水线
所有oracle都有一个容纳数据的上限,称之为high water mark(HWM),HWM通常增长幅度为5个数据块.
delete语句不影响表所占用的数据块,高水线保持原位置不动;truncate语句缺省情况下释放空间,除非使用reuse storage; truncate会将高水线复位.
分享到:
相关推荐
"SQL中truncate和delete的区别" SQL中truncate和delete是两种不同的数据删除方式,它们之间存在许多关键的区别。本文将详细阐述truncate和delete的不同之处,以便读者更好地理解和选择这两种删除方式。 -delete的...
在数据库管理中,TRUNCATE 和 DELETE 是两种用于删除数据的方法,它们各有其特定的适用场景和优缺点。本文将详细对比分析这两种操作的区别。 首先,TRUNCATE TABLE 是一种快速删除表中所有数据的方式,它并不记录每...
在SQL语言中,`TRUNCATE`、`DELETE` 和 `DROP` 是三个非常重要的数据操作语句,它们各自有着不同的用途和特性。理解这些差异对于数据库管理至关重要,特别是对于数据安全性和性能优化方面。 首先,`TRUNCATE` 语句...
### truncate, delete 以及 drop 区别汇总 #### 一、概述 在数据库管理中,经常需要对数据表进行各种操作,比如删除表中的数据、删除整个表等。`truncate`, `delete` 和 `drop` 是三种常见的 SQL 命令,它们在功能...
truncate 和 delete 清空表数据的区别:truncate 是整体删除(速度较快),delete 是逐条删除(速度较慢);truncate 不激活
在数据库管理中,`TRUNCATE`, `DELETE`, 和 `DROP` 是三种常见的数据操作语言(DML)与数据定义语言(DDL)。这三种命令都有助于管理和调整数据库表结构及其中的数据,但它们之间的差异十分重要。 #### 1. TRUNCATE...
- 相对于`TRUNCATE`和`DELETE`,`DROP`的操作更加强烈,因此在使用时需要格外小心。 - 使用`DROP`之后,与该表相关的所有对象都将变为无效状态。 #### 二、详细对比分析 1. **操作类型**: - `TRUNCATE`:属于...
在SQL中,`TRUNCATE`、`DELETE`和`DROP`都是用于管理数据库表的重要命令,但它们之间存在显著的区别。本文将深入探讨这三种命令的功能、用法及其应用场景。 #### 相同点 `TRUNCATE`、不带`WHERE`子句的`DELETE`以及...
本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下 ---创建表Table1 IF OBJECT_ID('Table1','U') IS NOT NULL DROP TABLE Table1 GO CREATE TABLE Table1 (ID INT NOT NULL,...
SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完
`DROP`、`TRUNCATE`和`DELETE`是SQL中用于删除数据的三个关键命令,它们各自有不同的特性和应用场景。以下是它们的详细对比和解释: 1. **DELETE语句**: DELETE是一种数据操纵语言(DML),这意味着它涉及到对...
注意:这里说的delete是指不带where子句的delete语句 相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被...
详细阐述了Oracle中三种删除的方式truncate,drop和delete三者的区别和联系.
在SQL中,删除数据有三种主要方式:DROP、TRUNCATE和DELETE。这些语句各自有不同的特性和适用场景,理解它们的区别对于有效地管理和维护数据库至关重要。 1. **DROP语句**: - DROP TABLE语句用于彻底删除一个表...
### delete,truncate和drop的区别详解 #### 一、概述 在数据库管理中,经常会遇到需要删除数据或表的情况。为了确保数据的准确性和安全性,理解`delete`、`truncate`和`drop`这三个命令的区别至关重要。本文将详细...
drop、delete、truncate都表示删除,但是三者有一些差别: Delete用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除。会触发这个表上所有的...