zoukankan      html  css  js  c++  java
  • truncate,delete,drop的异同点

      源:网海拾贝




    truncate,delete,drop的异同点  
    看重:这里说的delete是指不带where子句的delete语句
      
    相反点:truncate和不带where子句的delete, 以及drop城市删除表内的数据  
    差别点:  
    1. truncate和 delete只删除数据不删除表的机关(界说)  
         drop语句将删除表的机关被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保管,但是变为invalid形状.  
    2.delete语句是dml,这个操纵会放到rollback segement中,事情提交之后才见效;若是有照应的trigger,实施的时间将被触发.  
        truncate,drop是ddl, 操纵当即见效,原数据不放到rollback segment中,不能回滚. 操纵不触发trigger.  
    3.delete语句不影响表所占用的extent, 高水线(high watermark)坚持原地位不动  
       显然drop语句将表所占用的空间一切释放  
       truncate 语句缺省情形下将空间释放到 minextents个 extent,除非应用reuse storage;   truncate会将高水线复位(回到最初步).  
    4.速率,一样平居来说: drop> truncate > delete  
    5.宁静性:警醒应用drop 和truncate,尤其没有备份的时间.否则哭都来不及  
    应用上,想删除部分数据行用delete,看重带上where子句. 回滚段要饶富大.  
    想删除表,虽然用drop  
    想保管表而将所有数据删除. 若是和事情有关,用truncate即可. 若是和事情有关,或者想触发trigger,还是用delete.  
    若是是清算表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/拔出数据




    版权声明: 原创作品,容许转载,转载时请务必以超链接方式标明文章 原始来因 、作者信息和本声明。否则将追究法令责任。

  • 相关阅读:
    读书笔记--Head First 数据分析 目录
    读书笔记--Head First C#目录
    读书笔记--Head First Networking目录
    读书笔记--Head First JQuery目录
    读书笔记--Head First Python 目录
    读书笔记--Head First JavaScript 目录
    读书笔记--Head First Ajax 目录
    读书笔记--Head First Web设计 目录
    读书笔记--Head First Servlets和JSP 目录
    读书笔记--Head First Java(第2版) 目录
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975926.html
Copyright © 2011-2022 走看看