MySQL 中 DELETE TABLE 和 TRUNCATE TABLE 命令有什么区别?
What is the difference between the DELETE TABLE and TRUNCATE TABLE commands in MySQL?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: DELETE, TRUNCATE, Logging, Rollback
参考答案摘要
答案 基本上,DELETE TABLE 是记录日志(logged)的操作,每一行被删除都会被记录,因此通常较慢。TRUNCATE TABLE 也会删除表中的行,但不会记录被删除的每一行,因此更快。TRUNCATE TABLE 可以回滚,并且在功能上类似于没有 WHERE 子句的 DELETE 语句。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。