目录
详情参见:MySQL日志管理 - JasonJi - 博客园
多版本并发控制mvcc(multi-version concurrency controll) 基于多版本的并发控制.
在数据库并发量大的时候提高数据库的并发能力,即使有读写冲突的时候也可以做到不用加锁实现非阻塞并发. >>> 保存数据在某个节点的快照,读不加锁,写不冲突,增加并发创建时间版本号, 过期时间版本号, 开启新事务,版本号都会递增.
在mvcc并发控制中, 读操作分为两类>>> 快照读, 和当前读.
快照读就是普通的select 查询语句,不用加锁,
当前读 读取的时最新的记录版本,并且当前读的返回记录都会加上锁, 保证其他事务不会再并发修改这条记录. 指的是insert/ update/delete/select...for update/ select...lock in share mode语句时进行数据据的读取方式. < update/delete要先进行数据的查询才能去进行更改或者删除>
脏读,不可重复读,幻读
读的时候可能出现线程安全问题, >>> 脏读,幻读,重复读等.
写写的时候可能存在数据更新丢失的问题, mvcc可以解决读写冲突无锁时的并发控制.
脏读 : read uncommitted (未提交读)