MySQL经典面试题及详细答案.docxVIP

  • 0
  • 0
  • 约1.01万字
  • 约 10页
  • 2026-05-19 发布于河北
  • 举报

MySQL经典面试题及详细答案

一、基础必问(入门级,几乎必考)

1.说说MySQL中InnoDB和MyISAM的区别?(高频中的高频)

这是面试最常问的基础题,核心要结合实际使用场景说,不要只列干条,重点区分核心差异和适用场景:

核心区别:

1.事务支持:InnoDB支持事务(ACID),MyISAM不支持。比如电商下单、支付场景,必须用InnoDB,否则出现订单支付成功但库存没扣、或者库存扣了支付失败的情况,无法回滚。

2.锁机制:InnoDB支持行级锁和表级锁(默认行锁,冲突小时效率高),MyISAM只支持表级锁。比如多用户同时操作一张表,InnoDB只会锁定修改的行,其他行可正常操作;MyISAM会锁定整个表,其他人只能等待,并发效率低。

3.索引结构:两者都支持B+树索引,但InnoDB的主键索引是聚簇索引(叶子节点存的是整行数据),辅助索引叶子节点存的是主键ID;MyISAM的主键索引和辅助索引都是非聚簇索引(叶子节点存的是数据地址)。这就导致InnoDB查主键更快,MyISAM查辅助索引不需要回表(但并发差)。

4.崩溃恢复:InnoDB有事务日志(redolog、undolog),崩溃后能恢复数据,保证数据一致性;MyISAM没有日志,崩溃后可能丢失数据,需要手动修复。

5.其他:InnoDB支持外键,MyISAM不支持;MyISAM支持全文索引(

文档评论(0)

1亿VIP精品文档

相关文档