Mysql中drop、delete、truncate的区别?

2023-07-17  本文已影响0人  鳌拜的弟弟熬夜

truncate table和delete只删除记录不删除表结构,drop删除表结构依赖的约束,触发器,索引;

1、执行速度:drop  >  truncate  >  delete。

2、truncate之后的自增字段从头开始计数,delete仍保留原来的数值。

3、如果想删除部分数据用delete,注意带上where子句,回滚段要足够大。

4、如果想删除表用drop。

5、如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;如果和事务有关,或者想触发trigger,用delete;如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。

上一篇 下一篇

猜你喜欢

热点阅读