zoukankan      html  css  js  c++  java
  • drop、truncate和delete的区别

    (1)执行内容

       delete from tablename每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。

       truncate table tablename一次性地从表中删除所有的数据,并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

       drop table tablename 删除整个表(结构和数据)。

    (2)表和索引所占空间。

        DELETE不会减少表或索引所占用的空间。

       TRUNCATE 表和索引所占用的空间会恢复到初始大小,

       drop语句将表所占用的空间全释放掉。

    (3)执行速度一般而言,drop > truncate > delete

    (4)应用范围。

        TRUNCATE 只能对TABLE;         DELETE可以是table和view

    (5)TRUNCATE 和DELETE只删除数据, DROP则删除整个表(结构和数据)。

    可以这么理解,一本书,delete是把目录撕了,truncate是把书的内容撕下来烧了,drop是把书烧了

  • 相关阅读:
    Elasticsearch 分词
    Elasticsearch:文档乐观锁控制 if_seq_no与if_primary_term
    调用javaAPI访问hive
    sqoop笔记
    hive学习
    添加用户到sudo组
    HTTP协议用的TCP但是只建立单向连接
    Hadoop基本操作
    Hadoop原理介绍
    sed用法
  • 原文地址:https://www.cnblogs.com/tiandi/p/14778651.html
Copyright © 2011-2022 走看看