简单了解SQL常用删除语句原理区别
DELETE FROM test 或者 TRUNCATE test;truncate table 命令将快速删除数据表中的所有记录,但保留数据表结构。truncate 和不带 where 子句的 delete, 以及 drop 都会删除表内的数据。truncate, drop 是 ddl, 操作立即生效, 原数据不放到 rollback segment 中, 不能回滚。显然 drop 语句将表所占用的空间全部释放 。truncate 语句缺省情况下见空间释放到 minextents 个 extent, 除非使用 reuse storage; truncate会将高水线复位。如果和事务有关, 或者想触发 trigger, 还是用 delete。如果是整理表内部的碎片, 可以用 truncate 跟上 reuse stroage, 再重新导入/插入数据。
下载地址
用户评论