MySQL面试题

本文详细探讨了MySQL面试中常见的问题,包括事务的四大特性、MVCC的理解与应用、隔离级别,以及索引、存储引擎、数据库优化和主从复制等核心概念。深入解析了MySQL的性能提升和维护策略,对于数据库开发者和管理员极具参考价值。
摘要由CSDN通过智能技术生成
    1. 在实际的开发中,我们一般不会设置太多的外键,因为哪样的话,表和表的耦合度太高。

1 事务的四大特性

A:原子性 :事务是最小的工作单元,不可再分。

C:一致性:事务要求要么同时成功,要么同时失败。事务前和事务后的总量不变。

I:隔离性 :事务和事务之间因为有隔离性,才可以保证互不干扰。

D:持久性 :持久性是事务结束的标志。
 

2 谈谈你对MVCC的理解:

MVCC是:多版本并发控制:MVCC 相当于是为每一次修改保存一个版本,版本与事务时间戳关联,读操作只读事务开始前的数据库快照。

实现:是通过数据库的隐藏字段Undo和ReadView来实现的

3 MVCC解决的问题是什么?

所以MVCC为数据库解决以下问题:

  1. 在并发读写数据库时,可以做到读操作时不用阻塞写操作,写操作也不用阻塞读操作,提高了数据库并发读写的性能
  2. 解决脏读、幻读、不可重复读等事务隔离问题,但不能解决更新丢失问题

4 MVCC过程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Agnoni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值