【对线面试官】MySQL 事务&&锁机制&&MVCC_面试【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_02【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_03【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_04【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_05【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_06【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_07【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_08【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_09【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_10【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_11【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_12【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_13【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_14【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_15【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_16【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_17【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_18【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_19【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_20

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

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

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

 

【对线面试官】MySQL 事务&&锁机制&&MVCC_面试_21