赞
踩
1.truncate使⽤语法
truncate的作⽤是清空表或者说是截断表,只能作⽤于表。truncate的语法很简单,后⾯直接跟表名即可,例如: truncate tabletbl_name 或者 truncate tbl_name 。
执⾏truncate语句需要拥有表的drop权限,从逻辑上讲,truncate table类似于delete删除所有⾏的语句或drop table然后再create table语句的组合。为了实现⾼性能,它绕过了删除数据的DML⽅法,因此,它不能回滚。尽管truncate table与delete相似,但它被分类为DDL语句⽽不是DML语句。
2.truncate与drop,delete的对⽐
上⾯说过truncate与delete,drop很相似,其实这三者还是与很⼤的不同的,下⾯简单对⽐下三者的异同。
3.truncate使⽤场景及注意事项
通过前⾯介绍,我们很容易得出truncate语句的使⽤场景,即该表数据完全不需要时可以⽤truncate。如果想删除部分数据⽤delete,注意带上where⼦句;如果想删除表,当然⽤drop;如果想保留表⽽将所有数据删除且和事务⽆关,⽤truncate即可;如果和事务有关,或者想触发trigger,还是⽤delete;如果是整理表内部的碎⽚,可以⽤truncate然后再重新插⼊数据。
⽆论怎样,truncate表都是⾼危操作,特别是在⽣产环境要更加⼩⼼,下⾯列出⼏点注意事项,希望⼤家使⽤时可以做下参考。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。