zoukankan      html  css  js  c++  java
  • delete 和 truncate

    1.truncate is fast but can't rollback,delete can rollback
    2.truncate时index也会删掉,但delete则不会.
    3.truncate 会把 highwatermark 回归至 0 ... 当下一次再插入新资料时就会快一些啦。
    4.trancate 删除数据释放空间,delete则不会

    truncate操作 同没有where条件的delete操作十分相似
    1、无论truncate大表还是小表速度都非常快。delete要产生回滚信息来满足回滚需求而truncate是不产生的。
    2、truncate是DDL语句进行隐式提交,不能进行回滚操作
    3、truncate重新设定表和索引的HWM(高水标记),由于全表扫描和索引快速扫描都要读取所有的数据块知道HWM为止所以全表扫描的性能不会因为delete而提高,但是经过truncate操作后速度会很快
    4、truncate不触发任何delete触发器
    5、不能赋给某个用户truncate其它用户表的权限。如果需要trucate其它用户表的权限必须对该用户赋DROP ANY TABLE权限
    6、当表被truncate后,这个表和索引所占用的空间会恢复到初始大小,而delete操作不会减少表或索引所占用的空间。
    7、不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。

  • 相关阅读:
    其实吧
    一个很SB的方法,来开始调一个刚启动就SB的程序
    今天真的很SB
    32位程序关闭路径重定向
    WinDbg神断点
    SQLMap用户手册【超详细】

    真有敢干的
    21.递归
    16.数字大小升降排序编写
  • 原文地址:https://www.cnblogs.com/jacktu/p/646583.html
Copyright © 2011-2022 走看看