oracle数据库删除数据的Delete语句和Truncate语句的比较
类型:数据库类大小:42.1M语言:中文评分:4.2标签:立即下载。当不需要表中的数据时,应删除数据并释放占用的空间。delete语句或Truncate语句可用于删除表中的数据,下面分别进行说明。
1.删除语句
(1)有条件删除
语法格式:delete[from]table _ name[where condition];
例如,删除用户表中用户标识为“001”的数据:从用户标识为“001”的用户中删除;
(2)无条件删除整个表数据
语法格式:delete table _ name
例如,删除用户表中的所有数据:删除用户;
第二,截断语句
使用Truncate语句就是删除表中的所有记录。
语法格式:截断[table]table _ name;
(1)删除所有记录,不保留记录占用的空间
截断[table]table _ name[drop storage];
例如,删除users表中的所有数据并不会节省占用的空间;截断表用户删除存储;默认情况下使用Drop storage关键字,因此可以省略drop storage。
(2)删除所有记录,保留记录占用的空间
截断[table]table _ name[重用存储];
比如删除users表中的所有数据,节省占用的空间;截断表用户重用存储;
三、两种删除语句的比较
当delete语句删除记录时,记录会被逐个删除,但是当Truncate语句删除数据时,不会生成回滚信息。因此,如果需要删除大量数据,使用delete会占用更多的系统资源,而使用Truncate会快得多。
下面是一个例子来说明:
1、首先建立用户表:
创建表用户(userid varchar2(20)、username varchar2(30)、user pass varchar 2(30));
复制代码
2.然后插入一条数据
插入用户值(' 001 ',' GavinDream ',' 123456 ');
3.使用拷贝插入方法插入数万条数据
插入用户(用户标识、用户名、用户密码)从用户中选择*;
我插入了4,194,304条数据,用delete删除用了90.964秒,然后插入了两倍的数据,但是用truncate只用了2.215秒,如下图所示:
版权声明:oracle数据库删除数据的Delete语句和Truncate语句的比较是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。