数据库 delete truncate和drop的区别

  • 处理效率:drop> truncate>delete
  • drop删除整个表 truncate删除表,然后再创建表,所以自动增长的列会重置,delete只会删除全部记录
  • 使用truncate时候一定要注意,虽然可以恢复,但是要慎重
  • 如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;
  • 如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;
  • 如果和事务有关,或者想触发trigger,还是用delete;
  • 如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。

猜你喜欢

转载自blog.csdn.net/filling_l/article/details/108760988