2025年高频mysqlsql面试题及答案.docxVIP

  • 0
  • 0
  • 约6.02千字
  • 约 11页
  • 2026-04-28 发布于四川
  • 举报

2025年高频mysqlsql面试题及答案

什么是覆盖索引?如何判断查询是否使用了覆盖索引?

覆盖索引指查询所需的所有列都包含在索引中,无需回表查询基表数据。例如,若有索引(name,age),当查询条件为WHEREname=张三且需要返回name和age时,索引本身已包含所有所需数据,此时使用覆盖索引。判断方法:通过EXPLAIN命令查看Extra列,若显示“Usingindex”则表示使用了覆盖索引。需注意,覆盖索引的列顺序需与查询列匹配,且索引列需包含WHERE条件、JOIN条件及SELECT的所有列。

事务的ACID特性分别指什么?MySQL如何实现这些特性?

ACID即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。原子性通过undolog实现,事务执行过程中记录回滚日志,异常时通过undolog回滚;一致性依赖原子性、隔离性和应用层逻辑共同保证;隔离性由锁机制(行锁、表锁)和MVCC(多版本并发控制)实现,不同隔离级别调整锁的粒度和可见性;持久性通过redolog实现,事务提交时将redolog写入磁盘,崩溃时通过redolog恢复未持久化的数据。

MySQL中常见的索引失效场景有哪些?如何避免?

常见失效场景:①索引列使用函数或表达式(如WHEREDATE(c

文档评论(0)

1亿VIP精品文档

相关文档