黑马程序员技术交流社区

标题: sql 中Truncate Table tableName 和 delete ......的区别是什么 [打印本页]

作者: 肖彬    时间: 2013-3-12 00:52
标题: sql 中Truncate Table tableName 和 delete ......的区别是什么
sql 中Truncate Table tableName 和 delete tableName的区别是什么?

作者: 许庭洲    时间: 2013-3-12 06:38
1.TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销;
2.TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令;
3.TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多;
4.TRUNCATE不能触发任何DELETE触发器。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2