【发布时间】:2013-11-15 14:01:49
【问题描述】:
在最近的一次采访中,有人问我两者之间的区别。我回答了我们所知道的一般答案......
面试官接着问 truncate 是否可以回滚?我回答没有...
面试官说可以回滚,让我把delete和truncate这两个幕后操作的细节过一遍,以后再检查。
好吧,我在这里发布这个问题不仅仅是为了定义和我们知道的事情......而是为了了解它的核心。对这方面的关注将受到高度重视......
提前致谢
【问题讨论】:
-
对我来说听起来像是一个毫无意义的面试问题!
-
并非毫无意义:与 DELETE 相比,TRUNCATE 可以非常快,但由于其他考虑(IDENTITY、约束和触发器),您可能不想或不能这样做。因此,如果您必须定期清空一个大表(例如数据仓库负载),了解这些差异非常有价值。
标签: sql sql-server