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是把书烧了

  • 相关阅读:
    一本通 P1806 计算器
    英语单词
    Dubbo springboot注解
    java连接zookeeper集群
    zookeeper集群
    入住博客园!
    解决 windows MySQL安装过程中提示计算机丢失vcruntime140_1.dll
    django 订单并发修改库存乐观悲观锁
    毒鸡汤
    Java反射机制
  • 原文地址:https://www.cnblogs.com/tiandi/p/14778651.html
Copyright © 2011-2022 走看看