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

  • 相关阅读:
    原型模式
    windows下Redis安装及利用java操作Redis
    redis笔记
    STS 安装SVN插件
    java 操作MongoDB简易工具类
    Mysql 单表数据量过大移除数据
    Mysql 提示拷贝效率
    JS 图片显示一部分 小计
    FashJson转换
    WIndow MongoDb安装和启动
  • 原文地址:https://www.cnblogs.com/tiandi/p/14778651.html
Copyright © 2011-2022 走看看