SQL DBA 面试题及详细答案(实战完整版).docxVIP

  • 0
  • 0
  • 约5.62千字
  • 约 9页
  • 2026-10-14 发布于河北
  • 举报

SQL DBA 面试题及详细答案(实战完整版).docx

SQLDBA面试题及详细答案(实战完整版)

一、SQL基础与语法实战

1、DELETE、TRUNCATE、DROP的区别?生产环境如何选型?

参考答案:

三者核心区别集中在日志、事务、数据结构、资源占用四个维度:

1)DELETE:DML数据操作语句,用于删除表中部分或全部数据。支持事务回滚,会记录详细redo/undo日志,删除大量数据时会产生事务日志堆积、锁表/锁行,性能较慢。仅删除数据,保留表结构、索引、约束。

2)TRUNCATE:DDL数据定义语句,清空整张表所有数据。不支持事务回滚(部分数据库新版本支持快照回滚,但原生无事务特性),日志记录极少,执行速度极快。只清空数据,保留表结构、字段、约束,但会重置自增主键。

3)DROP:DDL语句,直接删除整张表,包含数据、表结构、索引、约束、权限,所有关联资源全部销毁,无法恢复(无简易回滚方式),仅可通过备份恢复。

生产选型原则:

需要删除部分数据、可回滚、业务可控→用DELETE;清空全表海量数据、无需回滚、保留表结构→用TRUNCATE;废弃无用表、彻底释放资源→用DROP。生产严禁随意执行DROP,操作前必须备份。

2、WHERE、GROUPBY、HAVING、ORDERBY的执行顺序?

参考答案:

真实执行顺序(区别于书写顺序):FROM/JOIN→WHERE→GROU

文档评论(0)

1亿VIP精品文档

相关文档