首页 > 编程知识 正文

oracle 批处理执行sql,数据库truncate

时间:2023-05-03 14:33:28 阅读:173509 作者:656

truncate table命令会快速删除数据表中的所有记录,但会保留数据表结构。 这种快速删除与删除delete from数据表中的所有数据表记录不同。 使用delete命令删除的数据存储在系统回退段中,可以根据需要回退并恢复,但不能恢复使用truncate命令删除的数据。

truncate操作与没有where条件的delete操作非常类似1。 无论是truncate大的桌子还是小的桌子,速度都非常快。 delete为了满足回滚请求而生成回滚信息,而不生成truncate。 2、truncate是隐式提交的DDL语句,无法进行回滚操作3、truncate是表和索引的高水位线(HWM ),所有表扫描和索引快速扫描读取所有数据块虽然所有表扫描的性能没有通过delete来提高,但是经过truncate操作后速度会变快4、需要对truncate trucate的其他用户表拥有权限的情况下,需要向该用户授予DROP ANYTABLE权限6 如果表被truncate,表和索引使用的空间将恢复为其原始大小,但delete操作不会减少表或索引使用的空间。 7 .不能对具有外键的表进行truncate。 删除时,请先取消外键,然后再删除。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。