Py学习  »  DATABASE

三歪面试被问到MySQL事务,回答惊艳了面试官

Java3y • 2 年前 • 241 次点击  

《对线面试官》系列目前也已经连载22篇啦!有深度风趣的系列!


一不小心就写了这么长了,总结下今天的知识点吧(赞和转发是肯定要的,别想了,又不用钱):

  • 事务为了保证数据的最终一致性
  • 事务有四大特性,分别是原子性、一致性、隔离性、持久性
    • 原子性由undo log保证
    • 持久性由redo log 保证
    • 隔离性由数据库隔离级别供我们选择,分别有read uncommit,read commit,repeatable read,serializable
    • 一致性是事务的目的,一致性由应用程序来保证
  • 事务并发会存在各种问题,分别有脏读、重复读、幻读问题。上面的不同隔离级别可以解决掉由于并发事务所造成的问题,而隔离级别实际上就是由MySQL锁来实现的
  • 频繁加锁会导致数据库性能低下,引入了MVCC多版本控制来实现读写不阻塞,提高数据库性能
  • MVCC原理即通过read view 以及undo log来实现

文章以纯面试的角度去讲解,所以有很多的细节是未铺垫的。

鉴于很多同学反馈没看懂【对线面试官】系列,基础相关的知识我确实写过文章讲解过啦,但有的同学就是不爱去翻。

我把这些上传到网盘,你们有需要直接下载就好了。

怎样偷偷努力 惊艳所有人?

扫码关注【面试造火箭
关注后回复「888」还可获取网盘地址哟!
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115465
 
241 次点击