delete,drop,truncate区别

delete:

  1. 删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率比truncate低)或delete table tb where 条件
  2. 删除内容不删除定义,不释放空间
  3. 用delete删除数据,然后添加。可以看到添加之后ID表示不连续。(说明delete删除不释放空间)
    truncate:
  4. 删除内容、释放内容但不删除定义。
  5. 与drop不同的是,它只是清空表数据而已,不删除表结构。
    drop:
  6. 删除内容和定义,释放空间。
  7. 把整个表去掉,以后要新增数据是不可能的,除非新增一个表。
    truncate与delete比较:
  8. truncate table在功能上与不带WHERE子句的delete语句相同:二者均删除表中的全部行
  9. truncate比delete速度快,且使用的系统和事务日志资源少。
  10. truncate操作后的表比Delete操作后的表要快得多
  11. truncate当表被清空后表和表的索引将重新设置成初始大小,而delete则不能。
上一篇:github如何多人开发一个项目


下一篇:sqlldr load UTF8 error